java
JenSuper
这个作者很懒,什么都没留下…
展开
-
线程池-ThreadLocal
ThreadLocal两种用法两大使用场景- ThreadLocal的用途典型场景1:每个线程需要一个独享的对象(通常是工具类,典型需要使用的类有SimpleDateFormat和Random )每个Thread内有自己的实例副本,不共享比喻:教材只有一本,一起做笔记有线程安全问题。复印后没问题SimpleDateFormat的进化之路2个线程分别用自己的SimpleDateFormat问题:1. 线程安全问题,所有线程共用同一个日期格式化器SimpleDateFormat的进化原创 2020-10-06 18:59:06 · 1492 阅读 · 0 评论 -
深入理解线程池原理及使用
并发工具类——分类为了并发安全∶互斥同步、非互斥同步、无同步方案管理线程、提高效率线程协作线程池治理线程的最大法宝 - 线程池1.线程池的自我介绍线程池的重要性优点:复用线程,复用总量,避免反复创建和销毁线程带来的开销问题,减少JVM回收垃圾的压力为什么要使用线程池问题一:反复创建线程开销大问题二:过多的线程会占用太多内存解决以上两个问题的思路用少量的线程——避免内存占用过多让这部分线程都保持工作,且可以反复执行任务——避免生命周期的损耗线程池的好处加快响应速度原创 2020-09-14 17:50:17 · 366 阅读 · 0 评论 -
Java面试-基础篇
jvm相关内存模型主内存和本地私有内存,每次更新数据时,本地私有内存会从主内存中拉取数据,然后在将修改后的数据更新到主内存实现内存刷新内存划分元空间使用本地内存,永久代使用jvm内存,在1.8之后常量池存放在堆中,堆中分为年轻代和老年代https://github.com/Snailclimb/JavaGuide/blob/master/Java相关/可能是把Java内...原创 2019-10-24 16:03:16 · 153 阅读 · 0 评论 -
深入理解java虚拟机-虚拟机执行子系统
文章目录1. class类文件结构2. 虚拟机类加载机制3. 虚拟机字节码执行引擎1. class类文件结构class文件是以8字节为基础单位的二进制流,中间没有添加任何分隔符根据java虚拟机规范的规定,class文件格式采用类似c语言结构体的伪结构来存储数据,这种结构只有两种类型:无符号数和表无符号数属于基本的数据类型,以u1,u2,u4,u8来分别表示1个字节,2个字节,4个...原创 2019-10-18 11:24:13 · 553 阅读 · 0 评论 -
集合
集合集合的概念:集合是一个用来存放对象的容器,可以是各种类型,也可自定义对象,并且不限制存放数量集合只是存放的对象的引用,对象本身还是在堆内存中集合的顶层:iterator:迭代器是集合的顶层接口 集合中(除了map以外)Collection接口也是继承了iterable接口,而在iterable中封装了iterator接口Collection: List和set...原创 2018-08-27 16:59:20 · 197 阅读 · 0 评论 -
NIO与IO理解
NIO与IOio和nio都可以用来处理数据传输,底层实现及效率方面有所不同区别io是阻塞方式,nio是非阻塞方式 io是一种传统的数据阻塞传输方式,也就是说,在传输多个文件时,只能依次读写,只有一个任务执行完成,下一个任务才可以开始nio是非阻塞的数据传输方式,会将数据直接读到缓冲区,然后从缓冲区获取数据,采用的是一种预读的方式,而且会使用多个channel进行数据读取,...原创 2018-08-28 10:51:28 · 314 阅读 · 0 评论 -
cookie与session简述
实现原理cookie在完成登录时,浏览器访问服务器,服务器端会把用户信息设置到cookie中,将cookie信息返回给浏览器,浏览器保存到本地,下次访问服务器时携带用户信息,所有信息都保存在客户端本地sessionsession是基于cookie实现的,在完成登录功能时,浏览器访问服务器,登录成功后,把对用户信息生成session和sessionid,服务器将对应的sessi...原创 2018-08-28 15:34:15 · 246 阅读 · 0 评论