Java并发编程(01)--基础学习

打了2年多的Python代码, 大大小小的项目也做了一些, 代码规范和并发效率一直以来是比较头疼的问题。 因为GIL全局解释器锁的存在使得Python程序员永远只能使用单核, 并且在锁的保护下许多的效率问题都被掩盖。 在学习了Java之后, 对其并发模块的设计深感惊艳, 比如ConcurrentHashMap的分段锁实现, volatile关键字保证变量的可见性, 所以在这里对其进行整理并进一步加深理解。 »

Java基础编程(04)--常用的设计模式(01)

在前面I/O系统中介绍了装饰模式, 在接口与抽象类中介绍了适配器模式, 以及设计模式的基础, 设计原则。 设计模式其实并没有那么神秘, 那么复杂, 本质上仍然是六大设计原则的体现。 既然要写, 就把所有的设计模式统统讲完, 才有快感。 另外这篇文章同样也会结合Python语言中的设计模式一起进行梳理, 这样做会进一步的加深我们对设计模式的理解, 至少在我这里是这样的。 »

Java基础编程(03)--容器

Java中的各种容器类是对基本数据结构, 如顺序表, 链表, 平衡二叉树, 红黑树等最直接的体现, 容器在使用时最重要的就是其在不同的应用场景下的时间复杂度。 例如, 需要一个有序的容器, 需要频繁的向其头部和尾部分别执行删除和插入操作, 此时选择数组所实现的容器就非常的不明智。 所以, 如果想要彻底理解Java中的容器, 首先要理解计算机世界中的基础数据结构。 另外需要说明的是, 本篇博文没有任何代码, 只对各种容器的原理进行说明。 »

Java基础编程(02)--接口与抽象类

在Java中, 我认为接口和抽象类是能够让”匠人”充分发挥其想象力和创造力的地方, 这两个类结构使得软件大师们能够编写出精美, 优雅和巧妙的代码。 而在我这种低端程序员手中, 它仅仅只是一个结构而已, 离品尝到其设计精髓不知还隔着多少座大山。 »

Java基础编程(01)--I/O系统

Java中的I/O系统相较于Python要复杂许多, 不管是从设计上还是实现上。 这一块儿的内容也是我在学习Java时遇到的最大的困难(并发包都比这个好理解), 经过了持(san)之(tian)以(da)恒(yu)的学习之后, 算是对Java I/O系统有一个基本的认识和理解。 »

MySQL权限管理

MySQL的权限管理重要性等同于服务器数据的重要性, 权限体系如果建立的不到位的话, 也就意味着生产数据处于危险状态。 »

MySQL慢查询日志分析工具

慢查询日志使我们对MySQL进行性能优化的关键指标, 只有在确定了哪些查询的确是慢查询之后才能对症下药, 进行性能优化, 而不是凭自身的感觉去判断, 结果有事往往出乎意料。 直接打开慢查询日志进行查看效率比较低效, 所以需要借助pt-query-digest工具来进行分析。 »

binlog的正确打开方式

在前面的主从复制中我们提到了bin-log, 主从复制中bing-log主要作为一种增量复制的方法进行主库与从库的同步。 在日常生产中, bin-log常常也作为实时数据恢复的必要手段。 »