JavaSE
orz024572
行走的小菜鸟
展开
-
Java知识梳理之HashMap的具体存储机制
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至HashSet 本身就采用 HashMap 来实现的。 HashMap存储机制...原创 2018-12-20 21:13:49 · 266 阅读 · 0 评论 -
多线程高并发编程学习笔记三
高并发编程学习笔记三:并发容器/队列1. map/set的选择使用 1. 不需要线程安全 hashmap:无序的key- value 1.创建table来存储entry 2.hashcode(key)得到键值对应该存放的位置 3.用equal方法比较key,如果相同覆盖数据,如果不同接到下面形成链表 treemap:有顺序的红黑树实现的map ...原创 2019-03-09 18:01:24 · 182 阅读 · 0 评论 -
多线程高并发编程学习笔记二
高并发编程学习笔记二:1. reentrantlock 重入锁 1. reentrantlock可以实现与synchronized一样的功能,synchronized在发生异常的时候,jvm会自动释放锁。但是reentrantlock必须手动释放锁。通常在finally中释放锁。 public class Demo1 { Lock lock...原创 2019-03-09 17:57:44 · 193 阅读 · 0 评论 -
多线程高并发编程学习笔记一
高并发编程学习笔记一: Java高并发编程主要有三个知识点: 1. synchronizer:同步器,确保各线程之间通讯,同步以保证动作一致 2. 同步容器 3. ThreadPool、executor、callable等1.Synchronized关键字public class Demo { public ...原创 2019-03-09 17:52:19 · 185 阅读 · 0 评论 -
Java知识梳理之字符流
1. 字符流概念 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。字符流 = 字节流 + 编码表。 字节流和字符流的区别: 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。 处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型...原创 2018-12-24 18:19:23 · 166 阅读 · 1 评论 -
Java知识梳理之JDBC与JPA
JDBC:JDBC提供一种接口,它是由各种数据库厂商提供类和接口组成的数据库驱动,为多种数据库提供统一访问。我们使用数据库时只需要调用JDBC接口就行了。 JDBC的用途:与数据库建立连接、发送 操作数据库的语句并处理结果。 JPA是Java持久层API。它是对java应用程序访问ORM(对象关系映射)框架的规范。为了我们能用相同的方法使用各种ORM框架。 JPA用途:简化...原创 2018-12-28 19:03:27 · 263 阅读 · 0 评论 -
Java知识梳理之synchronized关键字
1) 当两个或者多个并发线程同时访问一个object中的synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行,其他线程必须要等到当前线程执行完这个代码块之后才能继续执行该代码块。2) 然而,当一个线程访问object中的synchronized(this)同步代码块时,其他线程仍然可以调用object中的其它非synchronized(this)同步代码块。3) 尤...原创 2018-12-27 00:14:13 · 113 阅读 · 0 评论 -
Java知识梳理之Stream流操作
1. 基类:InputStream 和 OutputStream字节流主要操作byte类型数据,以byte数组为准,java 中每一种字节流的基本功能依赖于基本类 InputStream 和 Outputstream,他们是抽象类,不能直接使用。字节流能处理所有类型的数据(如图片、avi等)。InputStream 是所有表示位输入流的父类,继承它的子类要重新定义其中所定义的抽象方法。In...原创 2018-12-21 03:30:40 · 213 阅读 · 0 评论 -
Java知识梳理之String与Stringbuffer与StringBuilder之间的区别
1. String类String类是被final修饰的,所有String不能被继承。 String类是不可变的,对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象。 String s = "Hello ";s.concat("World!"); //字符串连接System.out.println(s); //输出s,还是"Hello "s ...原创 2018-12-21 04:47:47 · 212 阅读 · 0 评论 -
多线程高并发编程学习笔记四
高并发编程学习笔记四:线程池1.Executor:执行器,interface 用来执行某一个任务的,只有一个方法 void execute(Runnable command)//运行一个实现了runnable的操作,可以交给一个线程使用 e.g: public class MyExecutor implements Executor { @Override...原创 2019-03-09 18:45:39 · 197 阅读 · 0 评论