学习笔记
在知识的海洋中遨游
github项目网址:https://github.com/lrn-white/meetingmanagement<br>优快云博客:https://blog.youkuaiyun.com/qq_33283652
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
docker+nexus搭建私有maven库
一、docker+nexus 部署过程详见:https://blog.youkuaiyun.com/abelethan/article/details/105555809二、上传及下载jar包1.修改maven的setings.xml <server> <id>releases</id> <username>admin</username> <password>***</原创 2021-08-26 14:50:52 · 242 阅读 · 0 评论 -
python--日志持久化
一、将打印到控制台的信息保存到文件中1.自定义一个Logger 实例import sysclass Logger(object): def __init__(self, filename='a.log', stream=sys.stdout): self.terminal = stream self.log = open(filename, 'w') def write(self, message): self.terminal.原创 2020-11-05 22:41:41 · 406 阅读 · 0 评论 -
mysql 使用binlog2sql 查询binlog
gitlab:https://github.com/danfengcao/binlog2sql一、安装shell> git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sqlshell> pip install -r requirements.txt二、使用方法sh...原创 2020-03-07 18:17:54 · 2476 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(101~110)
建议一百零一:注意Class类的特殊性Java语言是先将Java源文件编译成后缀为class的字节文件,然后通过ClassLoader机制把这些类文件加载到内存中,最后生成实例执行。Java使用一个元类(MetaClass)来描述加载到内存中的类数据,这就是Class类,它是一个描述类的类对象。Class类无构造函数,可以描述基本类型,其对象都是单例模式。一个Class的实例对象只描述一个类。建议...原创 2018-04-26 14:55:02 · 175 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(111~120)
建议一百一十一:采用异常链传递异常建议一百一十二:受检异常尽可能转化为非受检异常建议一百一十三:不要在finally块中处理返回值建议一百一十四:不要在构造函数中抛出异常建议一百一十五:使用Throwable获得栈信息建议一百一十六:异常只为异常服务建议一百一十七:多使用异常,把性能问题放一边建议一百一十八:不推荐覆写start方法多线程比较简单的实现方法是继承Thread类,然后覆写run方法,...原创 2018-04-26 15:12:27 · 155 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(121~130)
建议一百二十一:线程优先级只使用三个等级线程优先级推荐使用MIN_PRIORITY,NORM_PRIORITY和MAX_PRIORITY三个级别建议一百二十二:使用线程异常处理器提升系统可靠性建议一百二十三:volatile不能保证数据同步建议一百二十四:异步运算考虑使用Callable接口建议一百二十五:建议优先选择线程池建议一百二十六:适时选择不同的线程池来实现建议一百二十七:Lock和syn...原创 2018-04-26 15:33:31 · 123 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(131~140)
建议一百三十一:CyclicBarrier让线程齐步走建议一百三十二:提升java性能的基本方法(1)不要在循环条件中计算(2)尽可能把变量,方法声明为static final类型 (3)缩小变量的作用范围(4)频繁字符串操作使用StringBuilder或StringBuffer(5)使用非线性检索(6)覆写Exception的fillStackTrace方法如果开发时不需要关注栈信息,则...原创 2018-04-26 16:16:43 · 182 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(141~151)
建议一百四十一:Apache扩展包apache的commons扩展包,建议开发时Guava和commons混用建议一百四十二:推荐使用Joda日期时间扩展包建议一百四十三:可以选择Collections扩展建议一百四十四:提倡良好的代码风格建议一百四十五:不要完全依靠单元测试来发现问题建议一百四十六:让注释正确,清晰,简洁建议一百四十七:让接口的职责保持单一建议一百四十八:增强类的可替换性建议一百...原创 2018-04-26 16:33:46 · 151 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(总结)
1.建议看一下jdk源码,看一下常用的方法的底层实现。2.学完设计模式回顾建议107,108。3.建议看完建议一年后,经验更丰富后再回顾4.学习完线程在回顾建议118~131总结:我认为这本书还是不错的,总结了一些开发过程中的注意事项,对整个开发流程有一个好的借鉴。目前有几处不懂,等学了相关知识,再回来完善。工作一年以后会在回顾一遍这些建议。...原创 2018-04-26 16:36:15 · 165 阅读 · 0 评论 -
实战java高并发程序设计(一、走入并发世界)
第一章 走入并发世界1.1 基本概念1.1.1同步和异步:去商场买台空调,顾客选定好样品后,售货员去仓库取货,顾客要等待取回空调后一起回家,这个过程叫同步。顾客如果选择网购,在网上下完单后,可以干些别的事,快递员回将空调送货上门,这个过程叫异步。1.1.2并发和并行:并发和并行都可以表示多个任务一起执行。并发偏重于多个任务交替执行,多个任务间还有可能是串行的,而并行是真正意义上的同时执行。比如爬山...原创 2018-05-14 10:30:11 · 502 阅读 · 1 评论 -
实战java高并发程序设计(二、Java并行程序基础)
二、Java并行程序基础2.1新建线程: Thread thread = new Thread(); thread.start();调用start()方法后自动调用run()方法,但线程新建时不能直接调用run()方法。public class Client { public static void main(String[] args) { ...原创 2018-05-14 14:25:55 · 680 阅读 · 0 评论 -
位运算符
& 按位与 | 按位或 ^ 按位异或~取反 <<左移 >>右移一·移位实现乘除法a=a*4; 改为a=a<<2;乘2 = 左移1位,乘4 = 左移2位 public class Test { public static void main(String[...原创 2018-08-21 16:49:19 · 103 阅读 · 0 评论 -
实战Java高并发程序设计(3.1同步控制)
3.1重入锁重入锁使用java.util.concurrent.locks.ReentrantLock来实现public class Test implements Runnable { public static ReentrantLock lock = new ReentrantLock(); public static int i = 0; @Overr...原创 2018-09-29 17:12:46 · 175 阅读 · 0 评论 -
maven项目连同外部jar包一起打包
1.在resources目录下新建目录lib并将外部jar包放在该目录下2.修改pom文件3.将项目打包原创 2018-12-17 16:51:25 · 838 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(91~100)
建议九十一:枚举和注解结合使用威力更大例子:实现一个访问控制public class Client { public static void main(String[] args) {// 初始化商业逻辑 Foo foo = new Foo();// 获得注释 Access access = foo.getClass().ge...原创 2018-04-26 14:05:01 · 566 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(81~90)
建议八十一:非稳定排序推荐使用List建议八十二:由点及面,一叶知秋----集合大家族(1)List:ArrayList动态数组,LinkedList双向链表,Vector线程安全的动态数组,Stack对象栈(2)Set:EnumSet枚举类专用Set,HashSet以哈希码决定元素位置,TressSet自动排序的Set(3)Map:TreeMap根据Key值自动排序,HashMap,HashTa...原创 2018-04-26 10:18:06 · 163 阅读 · 0 评论 -
图解TCP/IP协议(五、IP协议相关技术)
五、IP相关协议5.1 DNS域名:为了识别主机名称和组织机构名称的一种具有分层的名称。例如:kusa.ac.jp。根部所设置的DNS称为根域名服务器,根域名服务器中注册着根以下第一层域名服务器的ip地址。第一层域名服务器注册着下一层域名服务器的ip地址,以此类推。所有域名服务器都必须注册根域名服务器的ip地址。DNS查询步骤:5.2 ARPARP是一种解决地址问题的协议。以目标IP的...原创 2018-04-23 10:52:45 · 216 阅读 · 0 评论 -
图解TCP/IP协议(总结)
简略的看了一下《图解TCP/IP协议》,并没有深入学习。了解了在开发web项目过程中可能涉及的协议。从中收获不多。在以后的工作中如果有涉及到协议的方面可看一下《TCP-IP详解》。...原创 2018-04-23 13:53:23 · 212 阅读 · 0 评论 -
编写高质量代码:改善java程序的151个建议(1~10)
建议一:不要在常量和变量中出现易混淆的字母包名全小写,类名首字母大写,常量全部大写且用下划线分割,变量采用驼峰命名法。字母“l”和“O”必须标注,以示区分。字母“l”作为长整型标志时必须大写。建议二:莫让常量蜕变为变量public class test { public static void main(String[] args) { long i = 1L; ...原创 2018-04-23 16:10:14 · 666 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(11~20)
建议十一:养成良好习惯,显式声明UID通过反序列化可以实现版本向上兼容。显式声明UID可以避免对象不一致。建议十二:避免用序列化类在构造函数中为不变量赋值反序列化时构造函数不会执行public class Client implements Serializable { private static final long serialVersionUID = 111224367797828...原创 2018-04-24 14:02:47 · 181 阅读 · 0 评论 -
图解TCP/IP(二、TCP/IP基础知识)
二、 TCP/IP基础知识2.1 TCP/IP协议分层模式:硬件(物理层):负责数据传输的硬件。网络接口层(数据链路层):利用以太网中的数据链路层进行通信。主要起到硬件和软件之间的桥梁作用。互联网层(网络层):使用IP协议基于IP地址转发分包数据。 IP协议:跨越网络传送数据包,使整个互联网都能接收到数据的协议。 ICMP协议:IP数据包在发送途中一旦发生异常到导致无法...原创 2018-04-20 09:49:03 · 203 阅读 · 0 评论 -
图解TCP/IP(四、IP协议)
四、IP协议4.1 IP基础知识网络层与数据链路层区别:数据链路层提供直连两个设备之间的通信功能。IP负责没有直连的两个网络之间的通信。例如:从杭州坐高铁到成都,再坐飞机到北京。在这一过程中,从杭州坐高铁到成都的车票和从成都坐飞机到北京飞机票相当于数据链路层。而从杭州到北京的整个行程计划相当于网络层。IP地址:用于在连接到网络的所有主机中识别进行通信的目标地址。路由控制:将分组数据发送到目标地址...原创 2018-04-20 14:57:26 · 278 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(21~30)
建议二十一:用偶判断,不用奇判断判断一个数是奇数还是偶数,应使用:i%2==0?“偶数”:“奇数”不能使用i%2==1?“奇数”:“偶数”,java在做取余运算时,判断结果是否为1,不是即为偶数,判断负数时会出错。建议二十二:用整数类型处理货币计算机中浮点数有可能是不准确的,因为浮点数的存储规则决定。通常做法是现将运算的值扩大100倍,运算结束后在缩小100倍。建议二十三:不要让类型默默转换jav...原创 2018-04-24 15:30:00 · 200 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(31~40)
建议三十一:在接口中不要存在实现代码接口中可以实现代码,但应避免使用建议三十二:静态变量一定要先声明后赋值建议三十三:不要覆写静态方法建议三十四:构造函数尽量简化建议三十五:避免在构造函数中初始化其它类建议三十六:使用构造代码块精炼程序代码块:用大括号把多行代码封装在一起,形成一个独立的数据体,实现特定算法的代集合。建议三十七:构造代码块会想你所想遇到this关键字不插入构造代码块建议三十八:使用...原创 2018-04-24 17:27:34 · 169 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(41~50)
建议四十一:让多重继承成为现实interface Father { public int strong();}interface Mother { public int kind();}class FatherImpl implements Father { @Override public int strong() { return 8...原创 2018-04-25 09:49:10 · 141 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(51~60)
建议五十一:不要主动进行垃圾回收建议五十二:推荐使用String直接量赋值不建议使用String str = new String("a")来赋值,推荐使用String str = "a"建议五十三:注意方法中传递的参数要求建议五十四:正确使用String,StringBuffer,StringBuilderString类是不可改变的量,String str = "a";str = "b";只是改...原创 2018-04-25 14:17:11 · 198 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(61~70)
建议六十一:若有必要,使用动态数组建议六十二:警惕数组的浅拷贝数组中的copyOf方法和clone方法是浅拷贝,会直接修改指向的地址中的值,使得拷贝对象和被拷贝对象的值同时改变。建议六十三:在明确的场景下,为集合指定初始容量建议六十四:多种最值算法,适时选择public class Client { public static void main(String[] args) throws...原创 2018-04-25 15:14:31 · 234 阅读 · 0 评论 -
编写高质量代码:改善Java程序的151个建议(71~80)
建议七十一:推荐使用subList处理局部列表例子:一个列表中有100个元素,现在要删除索引位置为20~30的元素public class Client { public static void main(String[] args) throws Exception {// 初始化一个固定长度,不可变列表 List<Integer> initD...原创 2018-04-25 16:56:13 · 176 阅读 · 0 评论 -
TCP/IP详解卷一:协议(一、概述)
一、概述 1.1分层 TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。 为了减少网络涉及的复杂性,大多数的网络采用分层结构。在相同的网络中,一台机器的第N层与另一台机器的第N层可根据第N层协议进行通信,协议基本上是双方关于如何通信达成一致。 不同机器中包含的对应层的实体叫做对等进程。在对等进...原创 2018-04-17 13:50:06 · 835 阅读 · 0 评论
分享