文章分类 -  java

上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 62 下一页
摘要:在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需 阅读全文
posted @ 2017-05-28 12:14 天涯海角路 阅读(151) 评论(0) 推荐(0)
摘要:注意:该随笔内容完全引自http://wsmajunfeng.iteye.com/blog/1629354,写的很好,非常感谢,复制过来算是个积累,怕以后找不到。 一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高 阅读全文
posted @ 2017-05-28 12:12 天涯海角路 阅读(115) 评论(0) 推荐(0)
摘要:互斥锁是一把公共厕所的钥匙。一个人使用厕所的时候可以拿到这把钥匙,用完之后把这把钥匙交给排队的下一个人。 信号量是没有人使用的厕所的钥匙数量,所有厕所的钥匙都一样。比如有4个厕所有相同的钥匙和锁。信号量的值就是钥匙的数量,一开始是4。当进来一个人的时候数量就是少一个,如果4个厕所都满了,信号量就成0 阅读全文
posted @ 2017-05-25 15:51 天涯海角路 阅读(1204) 评论(0) 推荐(0)
摘要:一、采用synchronized锁以及wait notify方法实现 import java.io.IOException; public class WaitAndNotify { public static void main(String[] args) throws IOException 阅读全文
posted @ 2017-05-24 22:57 天涯海角路 阅读(249) 评论(0) 推荐(0)
摘要:1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRI 阅读全文
posted @ 2017-05-24 22:27 天涯海角路 阅读(166) 评论(0) 推荐(0)
摘要:单例设计模式 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。 核心知识点如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。 (2) 在其内部产生该类的实例化对象,并将 阅读全文
posted @ 2017-05-24 18:18 天涯海角路 阅读(117) 评论(0) 推荐(0)
摘要:通过分析这两个用法的分析,我们可以理解java中锁的概念。一个是实例锁(锁在某一个实例对象上,如果该类是单例,那么该锁也具有全局锁的概念),一个是全局锁(该锁针对的是类,无论实例多少个对象,那么线程都共享该锁)。实例锁对应的就是synchronized关键字,而类锁(全局锁)对应的就是static 阅读全文
posted @ 2017-05-24 18:12 天涯海角路 阅读(207) 评论(0) 推荐(0)
摘要:本文章节: 1.JMM简介 2.堆和栈 3.本机内存 4.防止内存泄漏 1.JMM简介 i.内存模型概述 Java平台自动集成了线程以及多处理器技术,这种集成程度比Java以前诞生的计算机语言要厉害很多,该语言针对多种异构平台的平台独立性而使用的多线程技术支持也是具有开拓性的一面,有时候在开发Jav 阅读全文
posted @ 2017-03-21 19:28 天涯海角路 阅读(178) 评论(0) 推荐(0)
摘要:面试经历 前段时间抽空整理了上面几篇面试经历,收到不少的关注,很多同学私信我平时都是如何get到这些知识的,是否有一些相关的书单,Java的源码太多了,应该如何看,框架的代码应该如何阅读等等问题。 现在想想,似乎以前也这样迷茫过,没有明确的方向,做过后端,做过前端,就因为啃完了一整本《JavaScr 阅读全文
posted @ 2017-03-21 19:27 天涯海角路 阅读(154) 评论(0) 推荐(0)
摘要:Reference对象封装了其它对象的引用,可以和普通的对象一样操作,在一定的限制条件下,支持和垃圾收集器的交互。即可以使用Reference对象来引用其它对象,但是最后还是会被垃圾收集器回收。程序有时候也需要在对象回收后被通知,以告知对象的可达性发生变更。 Java提供了四种不同类型的引用,引用级 阅读全文
posted @ 2017-03-21 19:27 天涯海角路 阅读(199) 评论(0) 推荐(0)
摘要:概览 图片项目地址 可以复制下来 进行修改 IO’s Demos Code 编码乱码原因: 机器中的编码都是 二进制编码 显示的时候 为了让人看懂 从而设置了各种字符集 ,如果与原来的编码不一致则会导致看不懂既乱码 。机器的二进制码没有变化 ,仅仅是 对照的字符集 不一致 导致的 字符流和字节流 字 阅读全文
posted @ 2017-03-21 19:26 天涯海角路 阅读(125) 评论(0) 推荐(0)
摘要:写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在 阅读全文
posted @ 2017-03-09 22:09 天涯海角路 阅读(134) 评论(0) 推荐(0)
摘要:1 什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作。Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java. 阅读全文
posted @ 2017-03-09 16:30 天涯海角路 阅读(113) 评论(0) 推荐(0)
摘要:在封装与接口中,private关键字封装了对象的内部成员。经过封装,产品隐藏了内部细节,只提供给用户接口(interface)。 接口是非常有用的概念,可以辅助我们的抽象思考。在现实生活中,当我们想起某个用具的时候,往往想到的是该用具的功能性接口。比如杯子,我们想到加水和喝水的可能性,高于想到杯子的 阅读全文
posted @ 2017-01-23 10:31 天涯海角路 阅读(166) 评论(0) 推荐(0)
摘要:程序很难做到完美,不免有各种各样的异常。比如程序本身有bug,比如程序打印时打印机没有纸了,比如内存不足。为了解决这些异常,我们需要知道异常发生的原因。对于一些常见的异常,我们还可以提供一定的应对预案。C语言中的异常处理是简单的通过函数返回值来实现的,但返回值代表的含义往往是由惯例决定的。程序员需要 阅读全文
posted @ 2017-01-23 10:19 天涯海角路 阅读(158) 评论(0) 推荐(0)
摘要:一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责 阅读全文
posted @ 2017-01-22 15:37 天涯海角路 阅读(776) 评论(0) 推荐(0)
摘要:在Java中: this 是对当前对象的引用 super是对当前对象的父类对象的引用 看这个例子: [java] view plain copy class FatherClass { public int value; public void f() { value = 100 ; System. 阅读全文
posted @ 2017-01-15 19:06 天涯海角路 阅读(119) 评论(0) 推荐(0)
摘要:先声明几个内存分析的小规则: 1.局部变量,基础类型的,只占一块内存 2.形参等同于局部变量,在栈内存中分配空间,值为实参传的值 3.方法执行完后,为此方法分配的所有局部变量的内存空间消失,在堆内存中对应的内存不一定马上消失,垃圾收集器回收时就消失了 下面我用例子来解释这几个规则 这是主函数: [j 阅读全文
posted @ 2017-01-15 19:05 天涯海角路 阅读(92) 评论(0) 推荐(0)
摘要:1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享, 阅读全文
posted @ 2017-01-11 10:39 天涯海角路 阅读(253) 评论(0) 推荐(0)
摘要:1、虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化 2、只有在调用new方法时才会创建类的实例 3、类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行本类继承的子类的初始化块,最后是子类的构造方法 4、类实例销毁 阅读全文
posted @ 2017-01-10 20:59 天涯海角路 阅读(133) 评论(0) 推荐(0)

上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 62 下一页