Java基础
qq_26774439
个人学习记录
展开
-
HashMap解析
首先hashmap的继承图当链表下方数据过多时,hashmap在1.8改为数组加红黑树进入hashmap的成员变量 private static final long serialVersionUID = 362498820763181265L; /**默认容量,1向左移位4个,00000001变成00010000,也就是2的4...原创 2019-11-01 22:59:22 · 242 阅读 · 0 评论 -
java反射与类加载
//final修饰的常量变为宏常量。在下面进行编译时会自动进行替换成他的值,即使静态的代码块也不会执行,下面初始化不会打印出来class test{ static{ System.out.println("初始化"); } static final String str="java疯狂讲义";}class test1{ public static void main(Strin...原创 2019-06-04 23:39:04 · 344 阅读 · 0 评论 -
java网络编程
TCP传数据class server { public static void main(String[] args) throws Exception { ServerSocket serverSocket = new ServerSocket(44444); Socket accept = serverSocket.accept();//阻塞式 InputStream in...原创 2019-06-04 00:11:58 · 86 阅读 · 0 评论 -
java nio
io:面向流。阻塞式IO,将他的输入输出看成水流NIO:面向缓冲区,非阻塞式,将他的通道看成铁路,缓冲区拿数据,底层是数组package test;import java.nio.ByteBuffer;//缓冲区,除了boolean类型都有对象的缓冲区//如bytebuffer//通过allocate分配缓冲区的大小//通过put或者get存放数据//caoacity:容...原创 2019-06-02 20:29:14 · 134 阅读 · 0 评论 -
java多线程
实现多线程的方式:使用一个类继承Thread使类成为一个线程类 实现runnable接口重写run方法,将实现类的子类当target传入Thread(数据是可以共享的)(实现类可以继承)线程的创建方式比较熟悉的是通过集成Runnable接口或者集成Thread类来实现,但是这两种方法都在线程执行完成后无法获取到执行结果,如果想...原创 2019-06-01 00:05:58 · 82 阅读 · 0 评论 -
java8新增
堆内存中的永久区取消了。方法区静态常量划分到物理内存中。hashmap底层变为数组加链表加红黑树了lambda表达式 TreeSet<Integer> t=new TreeSet<Integer>((x,y)->x-y); t.add(1); t.add(31); t.add...原创 2019-06-05 23:29:10 · 453 阅读 · 0 评论 -
java集合
hashset :不同步的,插入与读取顺序不一样,集合元素值可以为null,当hashset中存取元素时,会调用对象的hashcode方法得到对象的hashcode值,然后根据值查找元素,如果两个元素通过equals方法返回true但他们的hashcode方法不同也可以添加成功,所以hashset判断两个对象的标准是通过equals方法比较相等,并且两个对象的hashcode值也相等。再添加新类时...原创 2019-05-28 00:07:35 · 83 阅读 · 0 评论 -
hashset性能分析
hash表可以存储元素位置为桶,通常一个桶只有一个元素,hash算法在计算时出现hash冲突时会在一个桶下装两个以上的元素。hashmap与hashset包含如下属性:容量:hash桶中的数量。初始化容量:创建表时桶的数量。尺寸:(size)hash中记录的数量负载因子:负载因子等于size/capacity 。负载因子为0表示空表。hash表中有个负载极限,负载极限是0-...原创 2019-05-27 19:58:16 · 1256 阅读 · 0 评论 -
java对象与垃圾回收
GC垃圾回收机制在CPU空闲或内存不足时自动进行垃圾回收,程序员无法控制回收的时间与顺序。缺点事影响开销性能,Java虚拟机必须跟踪哪些是有用的对象或者无用的对象。只能回收内存资源,io 数据库资源不能回收。为了更快让垃圾回收机制回收那些对象,可以将引用变量设置为NULL,暗示垃圾回收器回收。垃圾回收是不可预知性的,即使system.gc是建议回收。垃圾回收精确性包括两个方面:1.精确的标记着活的...原创 2019-05-27 00:17:19 · 365 阅读 · 0 评论 -
java单例模式
1.懒汉式(单线程不安全)class singleton{ private static singleton st; private void singleton() { } public static singleton getSingleton(){ if(st==null){ st=new singleton(); } return st; }2多线程保...原创 2019-05-25 23:18:11 · 65 阅读 · 0 评论 -
java内部类
class inner{ private int num=10; private class outer{//在成员位置为成员内部类,一般为私有不允许访问用static修饰是为了方便访问 public void show(){ System.out.println(num);//内部类可以访问私有变量 } } pub...原创 2019-05-25 18:38:02 · 61 阅读 · 0 评论 -
Java基础知识——来源Java书籍
GC垃圾回收机制在CPU空闲或内存不足时自动进行垃圾回收,程序员无法控制回收的时间与顺序。缺点事影响开销性能,Java虚拟机必须跟踪哪些是有用的对象或者无用的对象。只能回收内存资源,io 数据库资源不能回收。为了更快让垃圾回收机制回收那些对象,可以将引用变量设置为NULL,暗示垃圾回收器回收。垃圾回收是不可预知性的,即使system.gc是建议回收。垃圾回收精确性包括两个方面:1.精确的标记...原创 2019-05-25 00:52:11 · 224 阅读 · 0 评论