- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 TCP粘包/拆包问题及解决办法
粘包拆包问题是处于网络比较底层的问题,在数据链路层、网络层以及传输层都有可能发生。我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生粘包拆包问题,因此粘包拆包问题只发生在TCP协议中。 什么是粘包、拆包? 假设客户端向服务端连续发送了两个数据包,用packet1和packet2来表示,那么服务端收到的数据可以分为三种,现列举如下: 第一种情况,接收端正常收到两个数据包...
2019-08-08 14:54:32
121
原创 Mysql执行原理
mysql执行一个查询的过程,到底做了些什么: 客户端发送一条查询给服务器; 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。 服务器段进行SQL解析、预处理,在优化器生成对应的执行计划; mysql根据优化器生成的执行计划,调用存储引擎的API来执行查询。 将结果返回给客户端。 实际上mysql执行的每一步都比较复杂,具体的过程如下...
2019-08-07 20:36:04
183
转载 Java可创建的五种线程池的区别
今天对五种常见的java内置线程池进行讲解。 线程使用的demo public static void cache() { ExecutorService pool = Executors.newCachedThreadPool(); long start = System.currentTimeMillis(); pool.execute((...
2019-07-25 11:10:42
140
转载 HashMap和Hashtable区别
产生时间 Hashtable是java一开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。虽然Hashtable比HashMap出现的早一些,但是现在Hashtable基本上已经被弃用了。而HashMap已经成为应用最为广泛的一种数据类型了。造成这样的原因一方面是因为Hashtable是线程安全的,效率比较低。另一方面可能是因为Hashtable没有遵循驼峰命名法吧。。。...
2019-06-05 15:12:26
85
转载 spring的@Transactional注解详细用法
spring的@Transactional注解详细用法 概述 事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。 Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistenc
2017-09-19 16:34:45
287
转载 JDK各个版本的新特性
对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。 JDK1.5新特性: 1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。
2017-07-28 09:45:05
295
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人