![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java编程思想
Deram_川少
该工程师很懒,没有介绍~~~~
展开
-
生产者与消费者的实现
生产者与消费者的实现一到多个线程充当生产者,生产元素。一到多个线程充当消费者,消费元素。在两者之间插入一个队列充当缓冲区,建立起生产者和消费者的松散耦合。正常情况下,即生产元素的速度和消费元素的速度差不多时,生产者和消费者其实是不需要去关注对方的。生产者可以一直生产,因为队列里总是有空间。消费者可以一直消费,因为队列里总是有元素。即达到一个动态的平衡。但在特殊情况下,比如生产元素的速度很...原创 2020-03-23 11:10:03 · 200 阅读 · 0 评论 -
java数据库连接池的实现
java数据库连接池的实现今天我们模拟实现数据库连接池的功能:连接池比较典型的应用有数据库的连接池,数据库连接是一种关键的有限的昂贵的资源,连接是有限的,这一点在多用户的网页应用程序中体现得尤为突出。 一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的 性能低下。数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并讲这些连接...原创 2019-07-22 10:33:40 · 317 阅读 · 3 评论 -
快速理解乐观锁和悲观锁
乐观锁与悲观锁乐观锁乐观锁(Optimistic Lock),顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库如果提供类似于write_condition机制的其实都是提供的乐观锁。CAS便是乐观锁技术,当多个线程尝试使用CAS同时更新...转载 2018-02-24 17:34:28 · 175 阅读 · 0 评论 -
1.8重新认识hashMap
简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 Hash...转载 2018-02-09 10:05:06 · 171 阅读 · 0 评论 -
JVM结构,原理,垃圾回收
本文谈谈jvm的内存结构,堆,栈,垃圾回收算法等内容,jvm的内存模式,运行原理,垃圾回收的分代算法等等转载 2018-01-03 11:41:00 · 232 阅读 · 0 评论 -
Ubuntu配置开发环境
liunx配置开发环境maven、mysql、jdk、zookeeper、rocketMq、nginx、fastdfs原创 2017-12-22 17:28:55 · 427 阅读 · 0 评论 -
Java设计原则
面向对象的设计,我们通常会涉及到两个元素:接口,类,及他们之间的协作关系。对于接口的设计:需要考虑接口隔离原则对于类的设计:需要考虑类本身的设计,需要考虑类的职责是否单一(单一职责原则);对于有继承关系的类设计,要注意子类是否改变父类的方法,目标是不要改变,子类应该只扩展父类的行为(里氏替换原则,开闭原则),这样才能把将来子类变化时产生的影响缩小到最小的范围。对于协作关系的设计:做顶层的框架设计时...转载 2017-12-22 16:49:59 · 295 阅读 · 0 评论