追梦的小狼狗

Coding Change Life

设计模式

23种设计模式精讲 创建型 单例模式 单例模式的实现一般是私有化构造器,然后非空判断调用静态方法返回实例。单例模式需要解决线程安全问题,因此实例本身需要用volatile关键字实现可见性和禁止重排序,再进行双重验证锁(即对获得实例的方法进行同步,同时两次判断实例是否确定为空,只有确定为空才可以创...

2019-07-24 16:53:25

阅读数 15

评论数 0

进程、线程与协程的概念

进程 进程可以简单的理解为应用程序。进程是系统资源分配的最小单位,系统由一个个进程(程序)组成。 线程 线程属于进程 多个线程共享进程的内存地址空间 进程相当于一个容器,而线程而是运行在容器里面的,因此对于容器内的东西,线程是共同享有的,因此线程间的通信可以直接通过全局变量进行通信,但是由此带来...

2019-07-22 19:19:50

阅读数 12

评论数 0

为什么Netty底层不使用AIO

AIO明显性能要优于NIO 我们知道,AIO是异步非阻塞,NIO是同步非阻塞,单看性能而言,的确是AIO要比NIO更胜一筹。 相信大家也有像我一样的疑惑,那为什么AIO优于NIO,Netty底层不使用AIO呢?接下来我们看下这几个原因 Netty底层使用NIO的原因 NIO中将多路请求注册到多路...

2019-07-19 15:48:48

阅读数 13

评论数 0

到底什么是回调

到底什么是回调? 这个问题从我入门编程开始就一直不得其解,今天看到了一篇博客终于能理解了点回调的思想。 生动形象了讲解了回调 看完上面那篇博客,我个人对回调的理解就是A中调用B的方法C,B中的方法C又调用了A中的方法D 关于回调接口 看完上面那篇博客,很多人认为其实A是没有必要实现CallBack...

2019-07-18 17:12:47

阅读数 17

评论数 0

栈和队列

2019-07-18 10:10:29

阅读数 18

评论数 0

Netty-Channel

Channel的常用操作(与网络通信相关) Channel read() 从当前的Channel中读取数据到第一个缓冲区中,如果数据被成功读取,触发ChannelHandler.channelRead()事件,读取操作调用完成后,紧接着会触发ChannelHandler.channelReadC...

2019-07-18 10:06:58

阅读数 20

评论数 0

Netty-ByteBuf

ByteBuf 由于NIO编程的复杂性,ByteBuffer也有其局限性,主要缺点如下: ByteBuffer长度固定,一旦分配成功,容量无法动态扩展或者伸缩,当需要编码的POJO对象大于ByteBuffer容量,会出现越界 ByteBuffer只有一个标识位置的指针position,读写的时候...

2019-07-18 10:01:44

阅读数 38

评论数 0

树的那些事儿

2019-07-18 00:22:02

阅读数 17

评论数 0

xml那些事儿

xml文件读取 什么是xml文件? xml文件的表示是一种以".xml"为扩展名的文件。 其存储结构为树形结构: 节点名称区分大小写 xml文件开头要加上版本信息和编码方式< ?xml version=“1.0” encoding=“UTF-8”? &...

2019-07-18 00:16:47

阅读数 17

评论数 0

jvm那些事儿

JVM那些事儿 Java内存区域 1.概述 对于Java程序员,在虚拟机自动内存管理机制下,不再需要像C/C++程序员,为每一个new操作去写对应的delete操作,不容易出现内存泄漏和内存溢出问题 2.运行时数据区域 Java虚拟机在执行Java程序的过程中会将它管理的内存分成若干个不同的数据区...

2019-07-18 00:13:07

阅读数 18

评论数 0

电商项目中的数据库

新零售数据库设计 SPU 先讲下产品和商品的关系:举栗子来说的话,库克在苹果发布会上发布的IPhnoe,这个属于产品,而我们购买的不同内存配置等,如256G、128G的手机这个就是商品。商品是产品的不同销售方案。 SPU指标准产品单位,SPU描述一个产品的各种特性 SKU SKU是库存进出计量的单...

2019-07-18 00:05:15

阅读数 12

评论数 0

MySQL架构设计

MySQL架构设计 大表和大事务 大表带来的问题 记录行数巨大,单表超过千万行 表数据文件巨大,表数据文件超过10G 1.大表对查询的影响,很难在一定的时间内过滤出所需要的数据 2.建立索引需要很长时间,MySQL版本<5.5时,建立索引会锁表;MySQL版本>=5...

2019-07-17 23:51:44

阅读数 10

评论数 0

MySQL索引详解

索引 索引好文章 索引是帮助MySQL高效获取数据的数据结构。 左边是数据表,最左边是数据记录的物理地址。 为了加快Col2的查找,可以维护右边所示的二叉查找树,每个节点分别包含索引键值和一个指向对应记录物理地址的指针 我对索引的理解:被设置为索引的字段,比如主键ID,会被设置为索引值并形成树,...

2019-07-17 23:26:49

阅读数 16

评论数 0

深入MyCAT

MyCAT 什么是MyCAT? MyCAT相当于MySQL的Server层 MySQL相当于MyCAT的存储层 MyCAT不存储数据,所有数据存储在MySQL中 MyCAT是一个数据库中间层 可以实现对后端数据库的分库分表和读写分离 对前端应用隐藏了后端数据库的存储逻辑 什么是数据库中间层及其...

2019-07-17 23:19:08

阅读数 15

评论数 0

深入MySL-主从复制与Replication集群

MySQL复制 MySQL二进制日志 二进制日志记录了所有对MySQL数据库的修改事件,包括了CURD事件和对表结构的修改事件 # 查看二进制日志是否启动 show variables like 'log_bin' 若未开启需要修改my.cnf配置文件 log_bin = /var/log/my...

2019-07-17 23:05:28

阅读数 16

评论数 0

深入MySL-理解数据库三范式

数据库设计范式 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息 第一范式 ...

2019-07-17 22:53:20

阅读数 11

评论数 0

小白和你一起配置云服务器

概述 由于博主需要开发web项目,因此此次配置环境主要为jdk+tomcat+mysql+svn+redis JDK

2019-07-06 23:26:58

阅读数 21

评论数 0

Xml那些事

xml文件读取 什么是xml文件? xml文件的表示是一种以".xml"为扩展名的文件。 其存储结构为树形结构: 节点名称区分大小写 xml文件开头要加上版本信息和编码方式< ?xml version=“1.0” encoding=“UTF-8”? &...

2019-05-15 22:35:30

阅读数 18

评论数 0

最优算法下界

题目 解析 选择问题的复杂度下界: 找最大问题的下界是:n-1 找第二大问题的下界是:n+logn-2

2019-05-06 23:31:28

阅读数 32

评论数 0

数组典型案例

字符数组 字符数组即用来存放字符的数组,字符数组中每个元素都存放一个字符,数组元素的类型为char类型。初始化字符数组的时候最好为‘\0’结尾。 如: char string []= “helloworld”; ==char array [] = {‘h’,’e’,’l’,’l’,’o’,’w’,...

2019-05-06 23:22:48

阅读数 25

评论数 0

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