自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

转载 Eclipse常用快捷键

Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。1. 【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。2. 【Ctrl+O】显示类中方法和属性的大纲,能快速定位类的方法

2015-08-31 09:34:13 228

转载 git常用命令

GIT 学习手册简介本站为 Git 学习参考手册。目的是为学习与记忆 Git 使用中最重要、最普遍的命令提供快速翻阅。 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以及参数。本手册将从入门到精通指导大家。 首先,我们要从如何以 Git 的思维方式管理源代码开始。如何以 GIT 的方式思考(这节可以不用看懂,接着看下面的内容,看完就全懂了。)

2015-08-28 16:10:50 909

转载 Java的缓存机制

缓存可分为二大类: 一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式;  二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查. 下面为一个简单的缓存代码 package lhm.hcy.guge.frameset.cache;     import ja

2015-08-28 15:29:20 386

转载 使用GitHub托管代码

自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC。不习惯于英文的朋友,难免少不了要进行摸索一番,甚至会因此头大而放弃。这里将手把手地教大家一些本人的入门心得。工具/原料本地源项目msysgit(Windows)

2015-08-28 10:59:52 490

转载 Java多线程 -- 面试

很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。0.Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量

2015-08-28 09:54:21 238

转载 Java集合框架

Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。   集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。   实现类:8个实现类(实线表示),对接口的具体实现。  在很大程度上,一旦您理解了接口,您就理解了框架。虽

2015-08-28 09:44:59 321

转载 Java项目导入外部的JAR包

java project:那就通过Eclipse中的右键你的项目名称,选择build path ->config build path... 然后在弹出的java build path 这个面框中,选择libraries这个页签,然后选择Add External JARs这个按钮就可以选择你要添加的jar包。

2015-08-27 16:40:07 650

转载 障碍器

Java线程:新特征-障碍器Java5中,添加了障碍器类,为了适应一种新的设计需求,比如一个大型的任务,常常需要分配好多子任务去执行,只有当所有子任务都执行完成时候,才能执行主任务,这时候,就可以选择障碍器了。 障碍器是多线程并发控制的一种手段,用法很简单。下面给个例子:import java.util.concurrent.BrokenBarrierExcep

2015-08-27 09:47:01 396

转载 原子量

所谓的原子量即操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的。为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题。在Java5之前,可以通过volatile、synchronized关键字来解决并发访问的安全问题,但这样太麻烦。Java5之后,专门提供了用来进行单变量多线程并发安全访问的工具包java.util.concurrent.atomic,其中

2015-08-27 09:33:56 400

转载 Java多线程 -- 条件变量

Java线程:新特征-条件变量条件变量是Java5线程中很重要的一个概念,顾名思义,条件变量就是表示条件的一种变量。但是必须说明,这里的条件是没有实际含义的,仅仅是个标记而已,并且条件的含义往往通过代码来赋予其含义。 这里的条件和普通意义上的条件表达式有着天壤之别。条件变量都实现了java.util.concurrent.locks.Condition接口,条件变量的实例化

2015-08-27 09:18:27 624

转载 Java多线程 -- 阻塞栈

Java线程:新特征-阻塞栈 对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。这里要特别说明一点的是,阻塞栈是Java6的新特征。、Java为阻塞栈定义了接口:java.util.concurrent.BlockingDeque,其实现类也比较多,具体可以查看JavaAPI文档。

2015-08-27 09:03:01 344

转载 Java多线程 -- 阻塞队列

Java线程:新特征-阻塞队列阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素为止。有了这样的功能,就为多线程的排队等候的模型

2015-08-26 23:09:00 456

转载 Java多线程 -- 信号量

Java线程:新特征-信号量Java的信号量实际上是一个功能完毕的计数器,对控制一定资源的消费与回收有着很重要的意义,信号量常常用于多线程的代码中,并能监控有多少数目的线程等待获取资源,并且通过信号量可以得知可用资源的数目等等,这里总是在强调“数目”二字,但不能指出来有哪些在等待,哪些资源可用。因此,本人认为,这个信号量类如果能返回数目,还能知道哪些对象在等待,哪些资源可使用,就非

2015-08-26 23:02:08 373

转载 Java多线程 -- 锁

Java线程:新特征-锁(上)在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLock。 ConditionCondition 将 Object

2015-08-26 22:38:32 282

转载 Java多线程 -- 有返回值的线程

Java线程:新特征-有返回值的线程在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。现在Java终于有可返回值的任务(也可以叫做线程)了。 可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。执行Callable任务后,可以获取一个Future的对象,在该

2015-08-26 22:17:03 460

转载 Java多线程 -- 线程池

Java线程:新特征-线程池 Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多

2015-08-26 21:49:31 325

转载 Java多线程 -- volatile关键字

Java线程:volatile关键字Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。谈及到volatile关键字,不得不提的一篇文章是:《Java 理论与实践: 正确使用 Volatil

2015-08-26 21:34:29 306

转载 Java多线程 -- 死锁

Java线程:并发协作-死锁 线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。发生死锁的原因一般是两个对象的锁相互等待造成的。在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子。/** * Java线程:并发协作-死锁 *

2015-08-26 21:28:52 386

转载 Java多线程 -- 生产者消费者模型

Java线程:并发协作-生产者消费者模型 对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。 实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产,仓满则停止生产

2015-08-26 17:42:49 339

转载 Java多线程 -- 同步块

Java线程:线程的同步-同步块对于同步,除了同步方法外,还可以使用同步代码块,有时候同步代码块会带来比同步方法更好的效果。追其同步的根本的目的,是控制竞争资源的正确的访问,因此只要在访问竞争资源的时候保证同一时刻只能一个线程访问即可,因此Java引入了同步代码快的策略,以提高性能。 在上个例子的基础上,对oper方法做了改动,由同步方法改为同步代码块模式,程序的执

2015-08-26 17:40:13 296

转载 同步方法

Java线程:线程的同步-同步方法线程的同步是保证多线程安全访问竞争资源的一种手段。线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题? 对于同步,在具体的Java代码中需要完成一下两个操作:1. 把竞争访问的资

2015-08-26 17:19:50 465

转载 Java多线程 -- 线程的调度-守护线程

Java线程:线程的调度-守护线程守护线程与普通线程写法上基本么啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程。守护线程使用的情况较少,但并非无用,举例来说,JVM的垃圾回收、内存管理等线程都是守护线程。还有就是在做数据库应用时候,使用的数据库连接池,连接池本身也包含着很多后台线程,监控连接个数、超时时间、状态等等。 setDae

2015-08-26 17:11:12 353

转载 Java多线程 -- 线程的调度-合并

Java线程:线程的调度-合并线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。 join为非静态方法,定义如下:void join()                                     等待该线程终止。    void join(long mil

2015-08-26 16:51:44 448

转载 Java多线程 -- 线程的调度-让步

Java线程:线程的调度-让步线程的让步含义就是使当前运行着线程让出CPU资源,但是然给谁不知道,仅仅是让出,线程状态回到可运行状态。/** * Java线程:线程的调度-让步 * * @author chb*/ package com.chb.abc.JavaIODemo;public class TestThreadYield { public st

2015-08-26 16:42:50 504

转载 Java多线程 -- 线程的调度优先级

Java线程:线程的调度-优先级与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。 线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。/** * Java线程:

2015-08-26 16:34:05 1480

转载 Java多线程 -- 线程的休眠

Java线程:线程的调度-休眠Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换执行,当休眠一定时间后,线程会苏醒,进入准备状

2015-08-26 16:13:46 605

转载 Java多线程 -- 线程的交互

Java线程:线程的交互线程交互是比较复杂的问题,SCJP要求不很基础:给定一个场景,编写代码来恰当使用等待、通知和通知所有线程。 一、线程交互的基础知识 SCJP所要求的线程交互知识点需要从java.lang.Object的类的三个方法来学习:  void notify()           唤醒在此对象监视器上等待的单个线程。

2015-08-26 15:42:18 419

转载 Java多线程 -- 线程的同步与锁

Java线程:线程的同步与锁一、同步问题提出线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。public class Foo {     private int x = 100;     public int get

2015-08-26 15:18:45 414

转载 Java多线程 -- 线程状态的转换

Java线程:线程状态的转换 一、线程状态 1、新状态:线程对象已经创建,还没有在其上调用start()方法。2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。3、运行状态:线程调度程序从可运行池

2015-08-26 15:01:28 372

转载 Java多线程 -- 线程的栈模型

使用java.lang.Thread类或者java.lang.Runnable接口编写代码来定义、实例化和启动新线程。一个Thread类实例只是一个对象,像Java中的任何其他对象一样,具有变量和方法,生死于堆上。Java中,每个线程都有一个调用栈,即使不在程序中创建任何新的线程,线程也在后台运行着。一个Java应用总是从main()方法开始运行,main()方法运行在一个

2015-08-26 14:42:10 3910 1

转载 Java多线程 总结

一般来说,当运行一个应用程序的时候,就启动了一个进程,当然有些会启动多个进程。启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的。在进程中,有些程序流程块是可以乱序执行的,并且这个代码块可以同时被多次执行。实际上,这样的代码块就是线程体。线程是进程中乱序执行的代码流程。当多个线程同时运行的时候,这样的执行模式成为并发执行。多线程的目的是为了最大限

2015-08-26 11:08:35 468

转载 Java开发者应该列入年度计划的5件事

1.开发一个应用,通过Java来操作一种NoSQL数据库实现存储如果你还没接触过NoSQL数据库,现在就是学习的最佳时机了。目前流行的NoSQL数据库有很多种,MongoDB或者Hadoop也许都是不错的入门选择。我们可以开发一个应用,通过Spring Data,或者原生Java提供的方法来连接上NoSQL数据库,并且对其进行各种操作。2.在Java Paas云平台上实现一个应用,

2015-08-25 15:17:39 394

转载 JavaBean

JavaBean是指一段特殊的Java类,就是有默认的构造方法,只有get,set的方法的java类的对象.专业点解释是:JavaBean定义了一组规则JavaBean就是遵循此规则的平常的Java对象 满足这三个条件:     1.执行java.io.Serializable 接口  2.提供无参数的构造器    3.提供getter 和 sett

2015-08-25 15:07:54 328

转载 java中的容器

Java容器类Collection、List、ArrayList、Vector及map、HashTable、HashMap区别 Collection是List和Set两个接口的基接口 List在Collection之上增加了"有序" Set在Collection之上增加了"唯一" 而ArrayList是实现List的类...所以他是有序的. 它里

2015-08-25 14:47:18 330

转载 Java字符串中判断是否有汉字

String str = "test中文vb汉字gfh"; String regEx = "[\\u4e00-\\u9fa5]"; /** * 判断有没有中文 */ if (str.getBytes().length == str.length()) { System.

2015-08-25 14:44:39 438

转载 String相关

String str1="ABC"可能创建一个对象或者不创建对象,如果"ABC"这个字符串在java String池里不存在,会在java String池创建这个一个String对象("ABC").如果已经存在,str1直接reference to 这个String池里的对象。 String str2 = new String("ABC")至少创建一个对象,也可能两个。因为

2015-08-25 14:39:42 281

转载 Maven 添加第三方Jar包到本地repositories

由于有些Jar包不是开源的,在maven remote repositories找不到相应的包,所以得通过自有的Jar包在local repositories中添加jar。然后在pom.xml中添加相应的dependency,就能用本地的jar了。 首先,在本地在添加Jar,它的格式为: mvn install:install-file -Dfile= -D

2015-08-25 14:32:12 705

转载 Java IO(二)

目录(?)[-]Java学习之IO流下转换流数据流 print流 object简单使用一转换流转换流Java学习之IO流下(转换流,数据流 ,print流 ,object简单使用)一.转换流Reader       |--InputStreamReader              |--FileReader:

2015-08-25 12:20:15 226

转载 Java IO(一)

字符流: FileReader FileWriter BuffereedReader BufferedWriter 字节流:FileInputStream FileOutputStream BufferedInputStream BufferedOutputS)IO流1. IO流:用于处理设备上的数据。设备:硬盘,内存,键盘录入。2

2015-08-25 10:54:27 320

转载 正则表达式

目录(?)[-]概述正则表达式基础1     基本概念11  字符串组成12  占有字符和零宽度13  正则表达式构成2     元字符Meta Character21   字符组Character Classes22  常见字符范围缩写23   小数点24  其它元字符25  转义字符26  量词Quantifier27  分支结构Alternation

2015-08-25 10:07:05 265

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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