自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 代码简洁之道读书笔记20200326

2.2 名副其实

2020-03-27 19:29:08 102

原创 effective java读书笔记20200325

74. 谨慎地实现Serializable接口75. 考虑使用自定义的序列化形式76. 保护性地编写readObject方法77. 对于实例控制,枚举类型优先于readResolve78. 考虑用序列化代理代替序列化实例...

2020-03-26 10:23:06 93

原创 effective java读书笔记20200324

66. 同步访问共享的可变数据这是由于在32位JVM中对64位的数据的读、写分两步,每一步读或者写32位的数据,这样就会造成两个线程对同一个变量的读写出现一个线程写高32位、另一个线程写入低32位数据。67. 避免过度同步过度同步可能导致性能降低,死锁甚至不确定的行为68. executor和task优先于线程69. 并发工具优先于wait和notify...

2020-03-24 19:38:33 90

原创 effective java读书笔记20200323

57. 只针对异常的情况才使用异常58. 对可恢复的情况使用受检异常,对编程错误使用运行时异常59.避免不必要地使用受检的异常60.优先使用标准的异常61.抛出与抽象相对应的异常...

2020-03-23 15:45:23 58

原创 effective java读书笔记20200319

45. 将局部变量的作用域最小化46. for-each循环优先于传统的for循环47.了解和使用类库48. 如果需要精确的答案,请避免使用float和double49. 基本类型优先于装箱基本类型50. 如果其他类型更合适,则尽量避免使用字符串String不适合代替其他的值类型String不适合代替枚举类型String不适合代替聚集类型4. 字符串不适合代替...

2020-03-19 20:22:23 82

原创 effective java读书笔记20200317

38. 检查参数的有效性应当在文档中清楚地指明限制,并在方法体的开头检查参数。39. 必要时进行保护性拷贝

2020-03-17 19:49:45 55

原创 effective java读书笔记20200316

30.用enum代替int常量31. 用实例域代替序数32.用EnumSet代替位域33. 用EnumMap代替序数索引

2020-03-16 13:03:21 84

转载 Nginx为什么这么快

作者:业余草来源:https://www.xttblog.com/?p=4773Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。本文从底层原理分析 Nginx 为什么这么快!Nginx 的进程模型Nginx 服务器,正常运行过程中:多进程: 一个...

2020-03-05 16:26:41 150

原创 effective java读书笔记20200302

23. 请不要在新代码中使用原生态类型

2020-03-03 09:42:46 60

转载 MySQL在更新时如何加锁

来源:https://urlify.cn/f6ZnIn看如下一条sql语句:# table T (id int, name varchar(20))delete from T where id = 10;MySQL在执行的过程中,是如何加锁呢?在看下面这条语句:select * from T where id = 10;那这条语句呢?其实这其中包含太多知识点了。要回答这两个问题,...

2020-02-26 11:43:40 4173

原创 effective读书笔记2020/02/24

13.使类和成员的可访问性最小化

2020-02-24 20:39:54 96

原创 effective读书笔记2020/02/19

覆盖object类的equals,hashcode,toString,clone,finalize方法时需要遵守通用约定8.覆盖equals时请遵守通用约定在以下条件时,选择不覆盖equals,令一个实例仅与自身相同值类则需要覆盖,除了枚举类型意外。通用原则:Timestamp类对Date类进行了拓展,增加了nanoseconds域,违反了对称性。Timestamp发表了免责声明,...

2020-02-19 11:34:24 116

转载 spring常用的7类注解

作者:Java程序媛环环https://blog.csdn.net/Lubanjava/article/details/100579554随着技术的更新迭代,Java5.0开始支持注解。而作为java中的领军框架spring,自从更新了2.5版本之后也开始慢慢舍弃xml配置,更多使用注解来控制spring框架。而spring的的注解那么多,可能做java很多年,都用不上。这里按照类型总结了...

2020-02-18 20:40:31 99

原创 EffectiveJava 读书笔记2020/02/17

开始阅读effective java 。一点点提高自己

2020-02-17 20:42:56 116

转载 Lombok的优劣势

本文转载于Java后端技术Lombok有什么好处?Lombok是一款非常实用Java工具,可用来帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO)。它通过注释实现这一目的。如果大家对于Lombok比较了解的话,可以先跳过这一段,直接往后看,如果不是很熟悉的话,可以简单了解一下。想在项目中使用Lombok,需要三个步骤:一、IDE中安装Lombok插件目前Lom...

2020-02-13 11:05:57 629

原创 网络编程(五)

NettyNetty是什么?优势是什么?为什么要使用Netty1、虽然JAVA NIO框架提供了 多路复用IO的支持,但是并没有提供上层“信息格式”的良好封装。例如前两者并没有提供针对 Protocol Buffer、JSON这些信息格式的封装,但是Netty框架提供了这些数据格式封装(基于责任链模式的编码和解码功能);2、NIO的类库和API相当复杂,使用它来开发,需要非常熟练地掌握Se...

2020-02-12 20:12:14 466

原创 网络编程(四)

Linux网络IO模型同步异步,阻塞和非阻塞同步和异步关注的是结果消息的通信机制同步的意思是调用方需要主动等待结果的返回。异步的意思是不需要主动等待结果的返回,而是通过状态通知,回调函数等。阻塞和非阻塞主要关注的是等待结果返回调用方的状态阻塞:是指结果返回之前,当前线程被挂起,不做任何事情。非阻塞:结果返回之前,线程可以做其他事情,不会被挂起。五种I/O模型阻塞I/O模型...

2020-02-09 14:05:39 164

原创 网络编程(三)

HTTPHTTP协议Content-Type指示响应的内容,浏览器依靠其判断响应的内容是网页还是图片。HTTP使用URI来传输数据和建立连接。URI是统一资源标识符,URL是统一资源定位符,URI分为URL和URN,统一资源名称。URL一个完整的URL包括以下几个部分http://www.enjoyedu.com:8080/news/index.asp?boardID=5&I...

2020-02-08 18:48:49 122

原创 网络编程(二)

TCP/IP中的数据包每个分层中,都会对发送的数据附加一个首部,首部中包含了必要的信息,如目标地址和协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。网络中传输的数据包由两部分组成,一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所...

2020-02-08 18:00:06 202

原创 网络编程(一)

网络协议网络OSI七层模型和TCP/IP四层模型OSI七层模型开放系统互连参考模型(Open System Interconnect) 是国际标准化组织ISO和国际电报电话咨询委员会CCITT联合制定的开放系统互连参考模型,为开放式互连系统提供了一种功能结构的框架。OSI系统分为七层,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。TCP/IP模型分为链路层,网络层,传输层...

2020-02-08 00:31:14 79

原创 MySQL性能优化(5)

索引索引分类普通索引:即一个索引只包含单个列,一个表可以有多个单列索引唯一索引:索引列的值必须唯一,但允许有空值复合索引:即一个索引包含多个列聚簇索引(聚集索引):并不是一种单独的索引类型,而是一种数据存储方式。具体细节取决于不同的实现,InnoDB的聚簇索引其实就是在同一个结构中保存了B-Tree索引(技术上来说是B+Tree)和数据行。非聚簇索引:不是聚簇索引,...

2020-01-29 21:53:18 80

原创 MySQL性能优化(4)

事务什么样的引擎支持事务1.查看数据库下面是否支持事务(InnoDB支持)?show engines;2.查看mysql当前默认的存储引擎? show variables like '%storage_engine%';3.查看某张表的存储引擎? show create table 表名 ;4.对于表的存储结构的修改?建立InnoDB 表:Create table ....

2020-01-28 21:45:08 83

原创 MySQL性能优化(3)

锁与事务分析锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。锁对数据库而言显得尤其重要,也更加复杂。MySQL的锁机制比较简单其最显著的特点是不同的存储引擎支持不同的锁机制,比如:MyISAM和MEMORY存储引擎采用...

2020-01-28 20:57:33 80

原创 MySQL性能优化(2)

MySQL逻辑架构连接层当MySQL启动,等待客户端连接,每一个客户端连接请求,服务器都会创建一个线程处理(如果是线程池的话,则分配一个空线程),每个线程独立,拥有各自的内存处理空间。当两个线程同时修改一块内存的时候,会引发数据同步问题。连接创立之后,服务器需要对其进行验证,一旦连接成功,还要验证是否具有执行某个特定查询的权限(例如,是否允许客户端对某个数据库某个表的某个操作)处理层...

2020-01-22 14:39:41 96

原创 MySQL性能优化(1)

MySQL性能优化(1)MySQL单实例与多实例MySQL多实例的优缺点MySQL多实例的实现场景JSON类型JSON_EXTRACT()函数JSON_OBJECT()函数JSON_INSERT()函数JSON_MERGE()函数MySQL单实例与多实例实例:MySQL数据库由后台线程及一个共享内存区组成,数据库实例才是真正用于操作数据库文件的程序集,是一个动态概念。多实例就是在一台服务器上...

2020-01-20 20:11:01 126

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除