java基础(四):谈谈java中的IO流

1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output。找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类。 基本特点: 1、操作的数据都是字节。 2、定义了输出字节流的基本共性功能。 3、输出流中定义都是 ... »

java基础之java的基本数据类型

java分为基本数据类型和引用数据类型。基本数据类型主演分为四类八种,引用数据类型分为接口,类,数组,String。 基本数据类型的四类八种是: 整数类型:byte,short,int,long 【在java中默认的整数类型是int类型】 浮点类型:float,double float(单精点浮点类 ... »

Java中创建对象的5种方式

作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。 Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码 使用new关键字 } → 调用了构造函数 使用Class类的newInstan ... »

Java中名词的解释

在上一篇中说到了Java的四大特性,里面出现了很多名次,包括以后学习Java中也会出现很多常用到的名次,对初学者来说可能不知道是什么意思,或者是对这些刺耳的理解不是特别透彻,这里我就我自己的理解来解释下这些词的意思。 包 在Java中常说某个包下面的某个类。那么什么是包呢?在平时操作电脑时,我们常江 ... »

关于 hashCode() 你需要了解的 3 件事

在 Java 中,每一个对象都有一个容易理解但是仍然有时候被遗忘或者被误用的 hashCode 方法。这里有3件事情要时刻牢记以避免常见的陷阱。 一个对象的哈希码允许算法和数据结构将对象放入隔间,就象打印机类型案件中的字母类型。打印机将所有的“A”类型放到一个房间,它寻找这个“A”的时候就只需要在这 ... »

Java基础之Java 修饰符

前言:Java内功心法之Java 修饰符,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说 ... »

Stream流

Stream流 stream流,是在java8中,由lambda表达式所带来的一种新的函数是编程模式,可以用来解决一些已有的集合类型的弊端。 1.stream流与传统集合的便利方式的区别 传统遍历方式 stream方式 emmm,是不是很简单明了。 2.stream流思想原理 当对集合中的元素需要进 ... »

java集合介绍

@ "TOC" 前言 介绍java的常用集合+各个集合使用用例 欢迎转载,请注明作者和出处哦☺ 参考: 1,《Java核心编程技术(第二版)》 2, "http://www.cnblogs.com/LittleHann/p/3690187.html" java 集合基本概念​​​​ 在《Java核心 ... »

Java8-新特性

1.Lambda表达式 为什么使用Lambda表达式? Lambda 是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码。可以写出更简洁、高效的代码。 (1).Lambda初体验 我们先来看一段匿名内部类的代码 使用Lambda表达式后的样子 准备工作: 创建一个Employee ... »

try-catch-finally代码块遇上return

这里打算用一个Java读取文件内容的例子来测试,文件存在,不抛异常,文件不存在,则抛出FileNotFoundException; Java读取文件代码如下: 代码很简单,就是传入文件的路径和文件名(包括文件后缀名),来获取文件内容; 当我们传入一个在该路径下存在的文件时,不会抛异常,日志如下图: ... »

全解史上最快的JOSN解析库 - alibaba Fastjson

JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 Java是面向对象的 ... »

Java基础学习(一)数据结构

基础问题 1. 几类数据结构的定义和区别是什么? 2. 容器的数据结构底层是怎么实现的?怎么进行扩容? 3. 容器的线程安全怎么实现? 一、List容器 数据有序,允许重复数据,线程不安全。 1. linkedList 底层用双向链表实现,操作速度快,可以在头、尾、[n]操作数据。 2. Array ... »

深入理解,源码解析 Integer 神奇的老哥

咱们对这个Integer封装类并不陌生,就连初学者都了解 ,下面咱们就解剖一下这个神奇的老哥 JDK源码 (在java.lang包下面) 肯定会有些大兄弟看到这玩意会懵逼的 其实这两个玩意就是2个补码,不要那么紧张 这里的话 我就不解释了 给大兄弟们一个链接(因为我懒的看 )https://blog ... »

java核心技术-多线程基础

进程、线程 ​ 进程(Process) 是程序的运行实例。例如,一个运行的 Eclipse 就是一个进程。进程是程序向操作系统申请资源(如内存空间和文件句柄)的基本单位。线程(Thread)是进程中可独立执行的最小单位。一个进程可以包含多个线程。进程和线程的关系,好比一个营业中的饭店与其正在工作的员 ... »

java核心技术-NIO

1、reactor(反应器)模式 使用单线程模拟多线程,提高资源利用率和程序的效率,增加系统吞吐量。下面例子比较形象的说明了什么是反应器模式: 一个老板经营一个饭店, 传统模式 来一个客人安排一个服务员招呼,客人很满意;(相当于一个连接一个线程) 后来客人越来越多,需要的服务员越来越多,资源条件不足 ... »

java核心技术-内部类

高级类特性 (类的成员之一:内部类) 内的成员之一:内部类(属性、方法、构造器、代码块) 可以有四种权限访问修饰符 注意:外部类 只有两种 public 和 default 定义 : 可以将一个类的定义放在另一个类定义的内部,这就是内部类 thinking in Java 用法:如果一个类 仅跟本类 ... »

Lambda表达式

Lambda表达式 初识lambda Lambda表达式是Java8的新特性,采用的思想是函数式编程的思想。也就是强调做什么,而不是怎么做。 先来看一个例子 对以上代码进行分析,首先Thread需要一个runnable接口的对象作为参数传递进来,其中传入的runnable接口对象的run方法是实际执 ... »

Java自动拆装箱(Autoboxing and unboxing)学习

在学习并发的过程中,用“Boolean bool = true”的自动装箱方式初始化了两个对象锁去锁两块代码,结果运行的时候出现了竞争等待,调试了一下发现两个锁变量指向的是同一个对象,由此可见我对自动拆装箱的机制想的太简单了,查了一下,发现这个机制还挺细节,那就记录一下: 本文主要有以下几个方面: ... »

Java实例 Part4:数组及其常用操作

@[toc] Part4:数组及其常用操作 数组:具有相同数据类型的数据的集合,可以存储基本数据类型的数据和引用类型的数据。数组是在内存中分配的一连串的空间。 声明方法:(以整型数组为例)   一维数组:int[] array 或 int array[];  &emsp ... »

java线程池

背景 当系统并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要消耗大量的系统资源。 所以需要一个办法使得线程可以复用,即当线程执行完一个任务,并不被销毁,而是可以继续执行其他的任务。在java中就可以通过线程池来 ... »