1 木棉上的光

尚未进行身份认证

公众号:不止于Java Github:https://github.com/cyxpdc?tab=repositories 邮箱:1142439493@qq.com

等级
TA的排名 3w+

《从Docker到Kubernetes》总结二:Docker相关知识简述

https://www.bilibili.com/video/av56101144Docker配置文件、日志Docker配置文件(CentOS7):/usr/lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerdaemon-Hfd://-H=unix:///var/run/docker.sock-H=tcp://0...

2019-09-18 20:14:42

《Effective Java Third》第十二章总结:序列化

https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingual第十二章序列化85.Java序列化的替代方案Java序列化并不安全,而且耗时没有理由在任何新系统中使用Java序列化。如果不能完全避免Java序列化,可能是因为需要在遗留系统环境中工作,那么下一个最佳选择是永远不要反...

2019-09-15 16:58:19

《Effective Java Third》第十一章总结:并发

https://blog.csdn.net/u010321349/article/details/83927012https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingual第十一章并发78.同步对共享可变数据的访问一个线程可以暂时修改一个数据对象,然后与其他线程共享,并且只同步共享对象引...

2019-09-15 11:06:17

《Effective Java Third》第十章总结:异常

https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingual第十章异常69.仅在确有异常条件下使用异常利用错误判断机制来提高性能是错误的,将代码放在try-catch块中会抑制JVM可能执行的某些优化。事实上,基于异常的用法比标准用法慢得多。异常只适用于确有异常的情况;它们不应该...

2019-09-15 08:57:51

《Effective Java Third》第九章总结:通用程序设计

第九章通用程序设计57.将局部变量的作用域最小化本item类似(15)-最小化类和成员的可访问性;通过最小化局部变量的范围,可以提高代码的可读性和可维护性,并降低出错的可能性。将局部变量的作用域最小化,最具说服力的方式就是在第一次使用它的地方声明每个局部变量声明都应该包含一个初始化表达式。如果你还没有足够的信息来合理地初始化一个变量,你应该推迟声明,直到条件满足;这个规则的一个例...

2019-09-14 22:14:30

《从Docker到Kubernetes》总结一:Docker综述

http://ju.outofmemory.cn/entry/111456https://www.bilibili.com/video/av56101144Docker被称为第三代Paas平台1Docker技术原理Docker是基于Linux的、虚拟化的一种轻量级替代技术。Docker的容器技术不依赖任何语言、框架或系统,可以将App变成一种标准化的、可移植的、自管理的组件,并脱离服务...

2019-09-14 20:50:32

《Effective Java Third》第八章总结:方法

https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingual/blob/master/Chapter-9/Chapter-9-Introduction.md第八章方法49.检查参数的有效性Objects.requireNonNull、assert、都是很好的方式每次编写方法或构造函数时,都...

2019-09-14 10:15:13

《Effective Java Third》第七章总结:Lambdas表达式和流(待补充)

https://blog.csdn.net/qq_20009015/article/details/90748293https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingualhttps://sjsdfg.github.io/effective-java-3rd-chinesehttps://...

2019-09-13 20:13:54

《Effective Java Third》第六章总结:枚举和注解

第六章枚举和注解34.用枚举类型代替int常量在枚举类型被添加到JAVA之前,表示枚举类型的一种常见模式是声明一组int的常量,使用publicstaticfinal修饰缺点:没有提供任何类型安全性,也没有提供多少表达能力;没有一种简单的方法可以将int枚举常量转换为可打印的字符串;如果与int枚举关联的值发生了更改,则必须重新编译客户端。如果不重新编译,客户...

2019-09-13 09:26:12

《Effective Java Third》第五章总结:泛型

https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingualhttps://sjsdfg.github.io/effective-java-3rd-chinese第五章泛型术语中文含义举例所在条目Parameterizedtype参数化类型List<Str...

2019-09-11 21:29:01

《Effective Java Third》第四章总结:类和接口

https://blog.csdn.net/liyagangcsdn/article/details/68946795https://www.cnblogs.com/bushi/articles/6525044.htmlhttps://blog.csdn.net/weixin_34236869/article/details/85811863https://blog.csdn.net/zjq...

2019-09-10 09:02:04

Object的clone()为什么使用protected修饰?

使用protected修饰clone方法是为了安全考虑。因为Object类中的clone方法是浅拷贝,如果是对象,它拷贝的只是这个对象的一个引用,而这个引用仍然指向那个对象,当我们改变这个引用的属性时,原来的对象也会跟着改变,这样其他引用也会跟着改变;这不是我们希望看到的,但是Object类肯定做不到深拷贝,因为它不知道自定义的类里有哪些引用类型;所以把修饰符定义为protected,这样想...

2019-09-08 23:57:57

《Effective Java Third》第三章总结:对于所有对象都通用的方法

https://sjsdfg.github.io/effective-java-3rd-chinesehttps://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingual/第三章对于所有对象都通用的方法10重写equals方法时遵守通用约定因为没有哪个类是孤立存在的。一个类的实例常常被传递给另一...

2019-09-08 16:52:06

《Effective Java Third》第二章总结:创建和销毁对象

第二章创建和销毁对象1考虑使用静态工厂方法替代构造方法一个类可以提供一个返回类实例的公共的静态工厂方法来替代构造方法,如Boolean#valueOf:publicstaticBooleanvalueOf(booleanb){returnb?Boolean.TRUE:Boolean.FALSE;}1.1与构造方法相比的优点1.静态工厂方法是有名字的...

2019-09-07 23:46:55

《Netty深入剖析》之十一(终):Netty高并发性能调优

11高并发性能调优11.1单机百万连接调优11.1.1如何模拟百万连接使用两台虚拟机,一台服务端一台客户端如何模拟呢?情况1:一台Client一台Server,只能有6w连接,因为Client只剩下大概6w个端口可以去连接服务端优化1:可以使用多个Client去连接服务端,要开启十几台虚拟机,麻烦优化2:服务端启动8000~8100端口,且因为TCP是一个四元组概念:源ip、...

2019-09-06 20:28:12

《Netty深入剖析》之十:Netty设计模式的应用

10设计模式10.1单例模式三个原则:全局只有一个实例(private构造方法)、延迟加载(static)、避免多线程同步创建(static、synchronized)例子:ReadTimeoutException、MqttEncoderReadTimeoutException:publicfinalclassReadTimeoutExceptionextendsTime...

2019-09-06 20:26:35

《Netty深入剖析》之九:Netty性能优化工具类解析

9Netty性能优化工具类解析两大性能优化工具类:FastThreadLocal、Recycler(实现了轻量级对象池机制,主要用于ByteBuf)9.1FastThreadLocal的实现机制https://www.jianshu.com/p/14f461568008:核心图对于jdk的ThreadLocal来讲,其底层数据结构就是一个Entry[]数组,key为ThreadLoc...

2019-09-05 22:32:48

《深入剖析Netty》之八:Netty编码

8Netty编码和writeAndFlush()如果调用writeAndFlush(),且有对应的编码器,那么Netty就能将对象变成字节流,最终写到socket底层总过程图:涉及两个重要的自定义handler:Encoder、BizHandler;最后传到head,通过底层unsafe写到socketBizHandler:publicclassBizHandlerextends...

2019-09-04 13:24:49

《Netty深入剖析》之七:Netty解码

7Netty解码将二进制数据流解析成自定义协议数据包ByteBuf两个部分:1.解码器基类2.常见的解码器分析7.1解码器基类ByteToMessageDecoder解码步骤流程1.使用一个累加器cumulation(类型为ByteBuf)来累加字节流2.调用子类的decode方法进行解析(callDecode(),去累加器读取数据)3.如果解析到了ByteBuf,则将解...

2019-09-03 22:30:59

《Netty深入剖析》之六:ByteBuf及内存管理

6内存分配:ByteBuf最底层作用将数据从底层IO里面读到ByteBuf,传递给应用程序,应用程序处理完之后,再把数据封装成ByteBuf传回给IO主要内容:内存与内存管理器的抽象不同规格大小和不同类别的内存的分配策略内存的回收过程6.1ByteBuf结构及重要API结构:三个指针:readerIndex、writerIndex、capacity写数...

2019-09-03 09:12:52

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。