![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
沙漠蜥蜴
不断学习,不断实践,才是永恒。
展开
-
后台学习研究路线
1.关系数据MySQL 2.缓存数据库Redis,列式数据库HBase,文档数据库Mongodb 3.ORM框架Mybatis,hibernate 4.IOC,DI,AOP框架Spring,Springmvc 5.RPC:dubbo 6:zookeeper 7.服务器容器 Tomcat 8.负载均衡:Nginx 9.TCP,UDP通讯:Netty,MINA 10.消息中间件:Kaf原创 2016-12-27 14:45:09 · 431 阅读 · 0 评论 -
Mybatis学习之路
简介 Mybatis继Hibenate之后新出的一个ORM框架,Mybatis在JDBC做了一层简单的封装,开发全部的接口,是的上层应用更加灵活。Mybatis支持定制化的SQL,存储过程和高级映射的持久框架。主要的特点有如下: 1.Mybatis几乎可以避免所有的JDBC代码和手动配置参数以及获取数据库的结果集。 2.Mybatis使用简单的xml配置和注解,将接口和java ob原创 2016-12-27 16:28:19 · 364 阅读 · 0 评论 -
Mybatis学习之路--类别名&数据源&事务管理器&映射器
1.typeAliases 类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。这个主要用在java普通对象,为了方便配置。一般的用法如 typeAliases> typeAlias alias="User" type="com.tlc.ssm.model.User"/> typeAlias alias="Pr转载 2016-12-27 17:26:46 · 415 阅读 · 0 评论 -
后台架构博客
http://blog.csdn.net/yinwenjie/article/details/48274255转载 2017-01-11 20:44:21 · 333 阅读 · 0 评论 -
ActiveMQ使用笔记-1
JMS(Java Message Service)即Java消息服务。它提供标准的产生、发送、接收消息的接口简化应用的开发。它支持两种消息通信模型: 1.点到点(point-to-point)模型:P2P模型规定了一个消息只能有一个接收者,消息生产者产生一个消息后,把这个消息发送到一个QUEUE队列中,然后消息接收者在从这个队列中读取这个消息,一旦这个消息被一个接收者读取之后,它就在这个QUEU原创 2016-12-30 22:00:47 · 427 阅读 · 0 评论 -
高性能,高并发通信服务器研究方向
语言列表: 1.Erlang 2.Golang 3.C/C++ 4.java开源通讯库: c/c++通讯库 1.libuv 2.libevent 3.zeromqErlang消息框架: 1.rabittmq 2.emqtt 3.esockdGolang语言通讯框架: 1.NSQ 2.KiteQ 3.cellnetjava通讯库: 1.Netty 2.Mina协程库:原创 2017-03-09 21:28:45 · 794 阅读 · 0 评论 -
人工智能学习路线
http://blog.csdn.net/T7SFOKzorD1JAYMSFk4/article/details/79073686转载 2018-03-09 09:41:00 · 668 阅读 · 0 评论 -
Android 史上最强工具详细
https://www.jianshu.com/p/ec5a1a30694b Android 屏幕适配:最全面的解决方案 https://www.jianshu.com/p/4e8e4fd13cf7 Android开发:ListView、AdapterView、RecyclerView全面解析 https://www.jianshu.com/p/b61a49e0279f 手把手带你全面了解An...转载 2019-01-04 14:12:52 · 177 阅读 · 0 评论 -
Netty解决分包的几种解码器介绍
一:LineBaseFrameDecoder 换行符解码器 改解码器的原理是,以此遍历缓存数组里的字节,判断字节是否为“\n”或者“\r\n”,如果读到了,就任务是数据包的结束位置,这样从遍历的start position到end position 这个闭区间就可以截取出一个完整的业务数据包。这种方式的缺点可以在数据的其他位置中包含这两个字符,导致截取数据错误,那么为了保障数据的正确性,一原创 2016-12-15 15:47:13 · 4168 阅读 · 0 评论 -
Socket TCP/IP协议数据传输过程中的粘包和分包问题
1.通过图解法来描述一下分包和粘包,这样客户更清晰直观的了解: 下面对上面的图进行解释: 1.正常情况:如果Socket Client 发送的数据包,在Socket Server端也是一个一个完整接收的,那个就不会出现粘包和分包情况,数据正常读取。 2.粘包情况:Socket Client发送的数据包,在客户端发送和服务器接收的情况下都有可能发送,因为客户端发送的数据都是发送的一个缓冲bu原创 2016-12-14 15:39:35 · 16191 阅读 · 1 评论 -
Java CompletionService 理解
CompletionService是一个抽象的java泛型接口,它被ExecutorCompletionService泛型类实现,具体功能是将生产的任务和生产任务产生的结果分离。生产者通过submit提交任务,消费生产结构通过take获取任务放回的结果,然后做其他的处理。CompletionService 一般用于需要异步操作的地方,比如网络请求,文件io等耗时的操作中。ExecutorCompl原创 2015-10-15 15:56:21 · 406 阅读 · 1 评论 -
实例分析Java notifyAll方式的使用
java notifyAll()方法唤醒所有处于阻塞状态的线程继续执行阻塞后的代码逻辑。 /** * 当方法wait()被执行后,锁被自动释放,但是执行完notify()方式,锁却不自动释放 **/ class ServiceWait { public void testMethod(Object lock) { try {原创 2016-07-22 19:50:46 · 348 阅读 · 0 评论 -
Java wait(long arg)方法的使用
wait(long arg)方法的功能是等待一段时间,在这段时间内是否有线程对持有的锁对象进行唤醒,如果超过了这段时间,该锁就自动唤醒。class MyRunnable implements Runnable { private Object lock; public MyRunnable (Object lock){ this.lock = lock;原创 2016-07-22 20:33:34 · 1101 阅读 · 0 评论 -
实例深入理解Java wait/notify执行机制
Java wait/notify wait 使得获取到同步锁的线程在调用wait方法的时候暂停执行,让出cpu的时间片 notify 通知获取同步锁的线程在获取到cpu的时间片后继续执行 代码案例分析: public class MyClass { public static void main(String[] args) { //同步对象 Object lo原创 2016-07-21 13:30:42 · 515 阅读 · 0 评论 -
Java Socket & Java NIO 编程解析
服务器BIO通讯模型: 采用BIO通信模型的服务器端,通常是有一个专门负责监听客户端键入的的一个线程,一般叫它为Acceptor 线程。当Acceptor 线程接收到客户端的连接请求后,它就为每个客户端创建一个新的线程来进行链路处理,处理完后,通过输出流返回给客户端,然后线程就销魂掉了,一般我们称这种模型为One Request VS One Response. 一般的结构图如下:原创 2016-12-12 13:25:25 · 527 阅读 · 0 评论 -
SpringMVC+Spring+MyBatis 项目pom.xml 文件模板
xml version="1.0" encoding="UTF-8"?> xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4原创 2016-11-22 11:00:09 · 659 阅读 · 0 评论 -
java socket & Nio 之 利用线程池改进
前面描述了BIO中采用1对1模式的服务器架构,发展它不适合高并发,高性能的服务器业务需求,那么接下来我们采用一个改进版来改进一下这个结构,这个结构主要是改进服务器端的程序。改进的措施如下: 1.在服务器接收到客户端的每个连接后,把客户端的socket包装成成功一个Task。 2.在服务器端根据系统的资源建一个固定大小的线程池和Task队列,然后线程池去管理处理线程的执行。 经过上面的处理,我们原创 2016-12-12 17:06:27 · 3748 阅读 · 1 评论 -
自定义View系列文章
https://www.jianshu.com/p/146e5cec4863 自定义View基础 - 最易懂的自定义View原理系列(1) https://www.jianshu.com/p/1dab927b2f36 自定义View Measure过程 - 最易懂的自定义View原理系列(2) https://www.jianshu.com/p/158736a2549d 自定义View ...转载 2019-01-04 14:17:59 · 189 阅读 · 1 评论