Java
文章平均质量分 58
shuangmulin45
这个作者很懒,什么都没留下…
展开
-
如何不加事务也能做到同一个线程内使用同一个数据库连接?
如何不加事务也能做到同一个线程内使用同一个数据库连接?这个问题一般在使用数据库的临时表的时候会碰到。mysql的临时表是直接“挂在”数据库连接(即connection)上的,这就意味着如果不是同一个数据库connection,对应的临时表就会不存在,强行使用会直接报错。所以解决这个问题的唯一的出发点就是“要保证同一个线程内反复和数据库交互都是同一个数据库连接”。既然涉及“同一线程”,那ThreadLocal肯定跑不了(Spring的声明式事务也是用ThreaLocal做的)。现在就是在哪里用Threa原创 2021-06-29 21:04:04 · 823 阅读 · 0 评论 -
多平台统一消息系统
rpush:多平台统一消息系统一个接口触达多平台,支持一个接口多平台同时发送消息平台逻辑与业务逻辑的解耦,业务方不需要关心各个平台的对接实现,只需要关心:要用哪些平台发、要发给对应平台的哪些人、要发什么内容极强的扩展性,要新增一个消息平台的支持,理论只需要新增几个类就能完成,且不需要写任何前端代码即可获得该平台对应的ui交互(包括:配置交互、接收人维护、web手动消息发送交互等)。当然支持web端手动发送消息当然也支持定时任务消息方案预设置提供即时通讯实现,且支持服务器横向扩展接收人导入原创 2021-05-06 01:41:11 · 2018 阅读 · 0 评论 -
类加载过程
类加载过程:加载通过类的全限定名加载类的二进制字节流将字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存生成一个代表这个类的Class对象,用来做访问方法区对应这个类的各种数据的入口验证为了确保加载进来的Class文件的字节流符合虚拟机的要求,防止威胁虚拟机的安全准备为类变量分配内存并设置初始值,因为是类变量,所以这些变量都会在方法区分配,要注意的是初始值...原创 2019-05-18 16:42:56 · 97 阅读 · 0 评论 -
关于Java的String类的intern方法
在jdk1.6,intern的实现是,将首次遇到的字符串复制一份到方法区中,并返回指向方法区的新字符串的引用在jdk1.7和jdk1.8,intern的实现就不是复制一份实例了,而是把首次遇到的字符串的引用放入方法区中以下引用深入理解Java虚拟机里的一个例子 String str1 = new StringBuilder("计算机").append("软件").toString()...原创 2019-05-12 18:28:03 · 297 阅读 · 0 评论 -
Java线程池
###核心参数核心线程池最大值:默认情况下,线程池里的线程数为0,当有任务的时候,会创建线程,线程数量大于核心线程池大小会把线程放入缓存队列。线程池最大线程数:决定了最多能创建多少个线程没有任务的线程的存活时间:默认情况下只有线程数量大于核心线程池的时候才会起作用单位TimeUnit,即存活时间的单位阻塞队列:用来存储等待执行的任务拒绝策略:默认是AbortPolicy即拒绝任务并抛...原创 2019-04-28 19:08:36 · 195 阅读 · 0 评论 -
JVM内存模型的简单理解
原创 2019-04-17 22:56:42 · 272 阅读 · 0 评论 -
关于Java多线程
关于Java多线程线程状态新建状态(NEW)。当线程被new出来的时候的状态为新建状态就绪状态(RUNNABLE)。当线程准备就绪,即调用start方法之后为就绪状态运行状态(RUNNING)。当线程拿到cpu执行权已经开始执行的状态为运行状态,注意,运行状态只能从就绪状态进入阻塞状态。调用sleep方法或者有io方法阻塞,这种阻塞只是暂停线程,并不会放弃cpu执行权。具体在ap...原创 2019-04-16 22:42:35 · 98 阅读 · 0 评论 -
ThreadLocal为什么会有内存泄露问题?
ThreadLocal为什么会有内存泄露问题?Thread(当前线程)持有Map<ThreadLocal, Object>,而Map对ThreadLocal的引用是弱引用,如果在线程中途ThreadLocal没有其它的强引用,那这个ThreadLocal对象随时会因为触发gc而被回收,被回收意味着这个ThreadLocal已经没有用了,即意味着这个ThreadLocal在这个线程对应...原创 2019-04-08 11:36:25 · 776 阅读 · 0 评论 -
单点登录
原创 2019-03-04 17:27:36 · 72 阅读 · 0 评论 -
Java io
####Java ionio不需要阻塞nio因为使用buffer导致编码变得更复杂连接数量庞大并且发送的都是小体量的数据使用nio更合适bio,nio,aio的区别bio同步阻塞,nio同步非阻塞,aio异步非阻塞解释:同步异步和阻塞非阻塞先用现实生活的例子说明:现在要做“去银行取钱”这件事,我自己去取是同步,我让小弟帮我取是异步。取的时候,到窗口排队等着是阻塞,取个号坐着...原创 2019-02-26 15:52:18 · 79 阅读 · 0 评论