随笔分类 -  读书笔记

摘要:一、并发编程知识准备 (1)并发:多种线程操作相同的资源,保证线程安全,合理使用资源 (2)高并发:服务能同时处理很多请求,提高程序性能 (3)知识技能 总体架构:Spring Boot、Maven、JDK8、MySql 基础组件:Mybatis、Guava、Lombok、Redis、Kafka 高 阅读全文
posted @ 2021-06-13 17:51 月下小魔王 阅读(220) 评论(0) 推荐(0)
摘要:一 简单压测 1 ArrayBlockingQueue (2)操作 3 多生产者、多消费者模型 4 内核——单线程写 RingBuffer完全无锁,因为它是单线程。 Redis、Netty、Nodejs都使用这个核心思想(事件驱动)。 5 系统内存优化——内存屏障 正确实现无锁:内存屏障 实际就是v 阅读全文
posted @ 2019-02-22 15:15 月下小魔王 阅读(631) 评论(0) 推荐(0)
摘要:一 概述 1 使用Spring的好处 Spring使开发人员能够使用POJO开发企业级应用程序(相对于EJB) Spring采用模块化方式组织。(需要哪些模块则引入即可) 使用Spring编写的应用程序很简单(因为依赖于环境的代码被移动到此框架中) Spring MVC是一个设计良好的Web MVC 阅读全文
posted @ 2019-02-19 10:57 月下小魔王 阅读(790) 评论(0) 推荐(0)
摘要:一 了解SQL 1 数据库基础 数据库(database):保存有组织的数据容器。 表(table):某种特定类型数据的结构化清单。表名实际由数据库名和表名共同组成唯一字符串。 列(column):表中的一个字段。所有表都是由一个或多个列组成。 数据类型(datatype):所允许的数据类型。每个列 阅读全文
posted @ 2019-02-18 14:14 月下小魔王 阅读(3584) 评论(0) 推荐(0)
摘要:1 Lamdba优于匿名内部类 (1)DEMO1 匿名内部类:过时 上述使用了策略模式,Comparator接口为排序的抽象策略,匿名内部类为具体实现策略,但是匿名内部类的实现过于冗长。 在java8中,如果一个接口只有一个方法,那么这个接口可以看作一个函数接口,功能接口的实现类可以通过lambda 阅读全文
posted @ 2019-01-31 11:54 月下小魔王 阅读(532) 评论(0) 推荐(0)
摘要:1 不要使用原始类型 (1)术语 | 术语 | 例子 | | | | | 参数化类型(Parameterized type) | List<String | | 实际类型参数(Actual type parameter) | String | | 泛型类型(Generic type) | Li 阅读全文
posted @ 2019-01-07 11:56 月下小魔王 阅读(442) 评论(0) 推荐(0)
摘要:1 构造器 = 静态工厂方法 (1)优势 静态工厂方法有名字 静态工厂方法不必在每次被调用时都产生一个新的对象 静态工厂方法能返回原返回类型的任意子类型的对象 静态工厂方法根据调用时传入的不同参数而返回不同类的对象 静态工厂方法返回对象的类不需要存在(SPI架构) (2)限制 没有公有或者保护构造方 阅读全文
posted @ 2019-01-07 09:36 月下小魔王 阅读(261) 评论(0) 推荐(0)
摘要:1 最小化类和成员的可访问性 (1)封装 封装对组成系统的组件进行解耦,从而允许这些组件独立开发,测试,优化,使用,理解和修改。 封装提高了软件的复用性,因为组件间的耦合度低使得它们不仅在开发环境,而且在别的环境也能变得有用。 封装降低了开发大型系统的风险,因为即使系统不可用了,但这些独立的组件却有 阅读全文
posted @ 2018-12-28 17:32 月下小魔王 阅读(258) 评论(0) 推荐(0)
摘要:1 重写equals方法时请遵守通用约定 (1)无需覆盖equals方法的情况 要求独一无二 不要求逻辑相等 超类已经覆盖equals方法,对其子类也适用 一个类是私有的或者是包私有(可以重写后抛出异常,防止被重写) (2)重写equals方法要保持等价关系 自反性:对于任意非空引用值x,x.equ 阅读全文
posted @ 2018-12-28 16:50 月下小魔王 阅读(219) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-10-25 21:05 月下小魔王 阅读(7) 评论(0) 推荐(0)
摘要:1 schema设计原则 1.1 关系型数据库的三大设计范式 第一范式(1NF)无重复的列 第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ] 第三范式(3NF)属性不依赖于其它非主属性 [ 消除传递依赖 ] 参考:https://blog.csdn.net/zhangminemail 阅读全文
posted @ 2018-09-28 16:17 月下小魔王 阅读(430) 评论(0) 推荐(0)
摘要:1 基本增删改查 基本概念: 数据库:同关系型数据库 集合:类似关系型数据库的表 文档:类似关系型数据库的行 字段:类似关系型数据库的列 操作: insert:新增,若新增数据的主键已经存在,则会抛异常提示主键重复,不保存当前数据。 save:新增或更新,若新增数据的主键已经存在,则会对当前已经存在 阅读全文
posted @ 2018-09-27 17:10 月下小魔王 阅读(410) 评论(0) 推荐(0)
摘要:一、判断回收哪些对象 1、引用计数算法 (1)概述:对象头添加一个引用计数,其他对象引用它时,计数器加1;引用失效则减1.当计数器为0,代表对象可被回收. (2)优点:实现简单,效率高 (3)缺点:难以解决循环引用 2、可达性分析算法 (1)概述:通过一系列称为“GC Roots”的对象作为起始点, 阅读全文
posted @ 2018-06-25 10:34 月下小魔王 阅读(387) 评论(0) 推荐(0)
摘要:实验环境: (1)Java版本以及模式: java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b1 阅读全文
posted @ 2018-06-20 17:16 月下小魔王 阅读(2302) 评论(0) 推荐(1)
摘要:1、Nodejs是一个平台,构建在chrome的V8上(js语言解释器),采用事件驱动、非阻塞模型( c++库:libuv)。 参考官方: Node.js is a platform built on Chrome's JavaScript runtime for easily building f 阅读全文
posted @ 2018-05-24 14:55 月下小魔王 阅读(29354) 评论(0) 推荐(0)
摘要:流程:字节码文件(.class) -> 类加载 -> 类链接 -> 类初始化 -> 对象初始化 -> 对象创建 -> 对象使用 -> 对象回收 。 1、Java类的链接 (1)回顾:Java虚拟机刚启动时,内部只包含Java核心类的相关信息,随着程序的运行,不断有新的Java类被加载到虚拟机中,变为 阅读全文
posted @ 2017-03-31 17:35 月下小魔王 阅读(189) 评论(0) 推荐(0)
摘要:流程:class -> 加载 -> jvm虚拟机 -> 链接 。 一、类加载器概述 1、引出 类加载器也是一个java类,java.lang.ClassLoader类是所有由java代码创建的类加载器的父类。通过调用类加载器的loadClass方法可以加载Java类。由于Java类都需要由类加载器来 阅读全文
posted @ 2017-03-31 09:41 月下小魔王 阅读(300) 评论(0) 推荐(0)
摘要:一般流程:开发人员写出java源代码(.java) -> javac(编译器) -> java字节代码(.class) -> 加载 -> java虚拟机(jvm)运行。 1、常见java源代码的字节代码表现形式 包名: com.java.sample -> com/java/sample 基本类型: 阅读全文
posted @ 2017-03-29 16:26 月下小魔王 阅读(328) 评论(0) 推荐(0)