- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 JAVA特性 之 反射(Reflection)
什么是反射?反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。用一句话总结就是反射可以实现在运行时可以知道任意一个类的属性和方法。反射能做什么?反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任...
2018-04-24 11:23:08 1602
原创 JAVA面向对象四大特性:多态、继承、抽象、封装
一、多态(晚绑定;运行时;一个接口,多种实现)面向对象的四大特性:封装、继承、多态、抽象。从一定角度来看,封装和继承几乎都是为多态而准备的。是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其...
2018-04-20 15:40:06 11193 1
原创 JAVA并发编程 之 LMAX Disruptor使用实例(高效解决生产者与消费者问题)
什么是Disruptor?Disruptor是一个开源的JAVA框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟。Disruptor是LMAX在线交易平台的关键组成部分,LMAX平台使用该框架对订单处理速度能达到600万TPS,除金融领域之外,其他一般的应用中都可以用到Disruptor,它可以带来...
2018-04-13 11:30:03 19354 2
原创 JAVA并发编程 之 Lock 与 Synchronized 的比较和应用 及 锁机制
synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?synchronized 的局限性 与 Lock 的优点如果一个代码块被synchronized关键字修饰,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待直至占有锁的线程释放锁。事实上,占有锁的线程释放锁一般会是以下三种情况之一:占有锁的线程执行完了该代码块,然后释放...
2018-04-11 16:18:30 1410
原创 JAVA并发编程 之 CountDownLatch、CyclicBarrier、Semaphore、Callable和Future
CountDownLatch用法CountDownLatch位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch类只提供了一个构造器:public CountDownLatch(int count) { }; //参数...
2018-04-11 13:56:03 1330
原创 JAVA线程池,ThreadPoolExecutor实现的四种线程池
线程池在JAVA中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便。但是就会有一个问题,如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?这样Java线程池出现了。new Thread的弊端:a....
2018-04-10 16:02:44 3245 1
原创 多线程 - 生产者与消费者
生产者与消费者在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这种生产消费能力不均衡的问题,所以便有了生产者和消费者模式。生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。...
2018-04-09 14:47:25 3114
jdk-8u171-linux-x64.tar
2018-08-06
tomcat8.0.3-x64
2018-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人