- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 NIO原理详解
1.阻塞与同步2.BIO与NIO对比3.NIO简介4.缓冲区Buffer5.通道Channel6.反应堆7.选择器8.NIO源码分析9.AIO1.阻塞与同步1)阻塞(Block)和非租塞(NonBlock):阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种处理方式,当数据没有准备的时候阻塞:往往需要等待缞冲区...
2018-08-18 17:22:13 75430 16
原创 druid深入学习(记一次线上问题排查)
1.场景由于公司线上运行项目突然出现访问不到接口但是程序运行正常的问题,于是想起了druid连接池,一个为监控而生的数据库连接池! 问题排查1: 加监控 druid问题排查2: netstat -t 查看tcp端口连接情况,一个完整的tcp连接有三次握手,四次挥手,期间每个阶段对应不同状态 查看文章的第二点有详细描述 https://blog.csdn.net/CharJay_Li...
2018-08-17 12:22:39 1105
原创 分布式事务
1.分布式事务产生背景2.分布式事务3.X/OpenDTP事务模型4.2PC(two -phase-commit)5.3PC(three phase commit)6.分布式事务的实现7.互联网的分布式事务的解决方案8.业务接口整合,避免分布式事务9.最终一致性方案之ebay模式10.保证最终一致性的模式11.X/OpenDTP模型的支付宝的DTS架构12.最大努力通知型...
2018-08-12 11:38:49 821
原创 3.dubbo源码分析
1.模块划分2.基于spring 配置文件的扩展3.源码分析1)解析配置文件2)服务端 ServiceBean3)消费端 ReferenceBean4)ExtensionLoader分析4.dubbo插件化 1.模块划分dubbo-admin 控制台dubbo-cluster 负载均衡 loadbalancedubbo-common 工具模块dubbo-con...
2018-08-12 11:35:51 365
原创 2.dubbo使用高级
1.启动服务检查2.多协议支持3.多注册中心支持4.多版本支持5.异步调用6.主机绑定7.dubbo服务只订阅与只注册8.负载均衡9.连接超时timeout10.集群容错11.配置的优先级12.服务的最佳实践13.推荐用法14.配置dubbo缓存文件 1.启动服务检查如果提供方没有启动的时候,默认会去检测所依赖的服务是否正常提供服务如果check为f...
2018-08-12 11:34:15 939
原创 1.dubbo使用入门
1.技术的发展2.dubbo能解决什么问题3.Dubbo是什么4.Dubbo的使用入门5.Main方法怎么启动的6.日志怎么集成7.admin控制台的安装8.simple监控中心9.telnet命令 1.技术的发展最开始的单机到多台机器两个jvm之间的通信:rmi,webservice,activeMq等jvm的集群:硬件负载f5、软负载nginx对...
2018-08-12 11:30:01 422
原创 【effective java】74~78.序列化
第74条:谨慎地实现Serializable1)实现Serializable接口而付出的最大代价是,一旦一个类被发布,就大大降低了“改变这个类的实现”的灵活性。2)第二个代价是,它增加了出现Bug和安全漏洞的可能性。(会被反序列化)3)第三个代价是,随着类发行新的版本,相关的测试负担也增加了。(要测试序列化与反序列化是否正常)4)为了继承而设计的类应该尽可能少地去实现Seriali...
2018-08-05 17:55:57 345
原创 【effective java】66~73.并发
第66条:同步访问共享的可变数据private static boolean stopRequested;public static void main(String[] args) throws InterruptedException {Thread backgroundThread = new Thread(new Runnable() {@Overridepubl...
2018-08-05 17:55:03 263
原创 【effective java】57~65.异常
第57条:只针对异常的条件才使用异常异常是为了在异常情况下使用而设计的。不要将他们用于普通的控制流,也不要编写迫使他们这么做的API。如何正确的使用异常:https://www.aliyun.com/jiaocheng/550636.html 第58条:对可恢复的条件使用受检异常,对编程错误使用运行时异常java提供了三种可以抛出的结构:1. 受检异常(checked ex...
2018-08-05 10:50:13 236
原创 【effective java】49.基本类型优先于装箱的基本类型
在基本类型和装箱基本类型中有3个主要区别:1、基本类型只有值,装箱基本类型具有与它们的值不同的统一性;2、基本类型只有功能完备的值,而每个装箱基本类型除了它对应基本类型的所有功能值外,还有个非功能值–null;3、基本类型比装箱基本类型更节省时间和空间。 /** * 如果first和second引用表示同一个int值得不同Integer实例,这个比较操作会返回false...
2018-08-05 10:48:46 223
原创 【effective java】48.如果需要精确的答案,请避免使用float和double
float和double主要为了科学计算和工程计算而设计,执行二进制浮点运算,这是为了在广泛的数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不适合用于需要精确结果的场合,尤其是货币计算。public static void main(String[] args) { //假设有1.03元,花掉0.42元后 System.out.pri...
2018-08-05 10:48:18 392
原创 【effective java】45~56.通用程序设计
第45条:将局部变量的作用域最小化1)在第一次使用某个局部变量的地方进行声明。不然可能出现变量未初始化等问题2)几乎每个局部变量的声明都应该包含一个初始化表达式。3)for循环,都允许声明循环变量,它们的总用域被限定在正好需要的范围之内。4)使用另一个局部变量来限制一个局部变量的迭代范围。5)使方法小而集中。就是一个方法尽量实现一个功能,两个功能合在一个方法里面会出现变量混用第46条...
2018-08-05 10:47:37 249
人力资源管理系统
2015-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人