JAVA基础
qustfeng
这个作者很懒,什么都没留下…
展开
-
JAVA的CountDownLatch
CountDownLatch1、类介绍一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重转载 2015-06-19 09:05:00 · 416 阅读 · 0 评论 -
java线程池
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?转载 2015-06-03 09:07:31 · 426 阅读 · 0 评论 -
java正则表达式
目录 一、前言二、正则表达式的使用诉求三、java.util.regex包四、java.lang.String实例五、最短路径实现诉求六、Java支持的正则表达式功能语法七、总结八、参考 一、前言 正则表达式作为文本处理的利器,早已成为各转载 2015-06-04 10:53:16 · 453 阅读 · 0 评论 -
Manifest.mf文件
1. Main-Class 指定程序的入口,这样可以直接用java -jar xxx.jar来运行程序。 2. Class-Path 指定jar包的依赖关系,class loader会依据这个路径来搜索class。我平时用mf文件一般说来都是让jar成为可以直接运行这一目的。虽然目的这么简单,但是每次打包还是很容易出现各种各样的问题让人头痛。mf总是没有被应用,或者是出错了。首先转载 2015-06-03 09:35:06 · 4359 阅读 · 0 评论 -
正则表达式Matcher.group()
原来,group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。最近学习正则表达式,发现Java中的一些术语与其他地方描述的有所差异。比如Java正则表达式中的“组”概念与《正则表达式必知必会》一书中讲述的“子表达式”其实是一样的,只是表述不同而已。由此也引发了使用JavaAPI时对group(int g转载 2015-06-05 10:35:10 · 4280 阅读 · 0 评论 -
正则表达式详解
本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果转载 2015-06-04 16:07:42 · 402 阅读 · 0 评论 -
java的单例模式几种写法
作为设计模式理论中的Helloworld,相信学习java语言的人,都应该听说过单例模式。单例模式作为对象的一种创建模式,它的作用是确保某一个类在整个系统中只有一个实例,而且自行实例化并向整个系统提供这个实例。由此可见,单例模式具有以下的特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一的实例。 单例类必须给所有其他对象提供这一实例。 由于Java语言的特点,使得单例转载 2015-05-23 10:22:12 · 358 阅读 · 0 评论 -
JVM JDK JRE区别联系
很多朋友可能跟我一样,已经使用JAVA开发很久了,可是对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的。 今天特写此文,来整理下三者的关系。 JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/j转载 2015-05-23 10:25:51 · 337 阅读 · 0 评论 -
java多线程相关学习
线程的同步 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized转载 2015-05-23 10:39:04 · 511 阅读 · 0 评论 -
JVM工作原理学习
一、 JVM的生命周期1. JVM实例对应了一个独立运行的java程序它是进程级别a) 启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点b) 运行。main()作为该程序初始线程的起点,任何其他线转载 2015-05-23 10:29:16 · 365 阅读 · 0 评论 -
java反射机制Reflection学习
Java语言的反射机制初步学习首先看下基本概念: (一)在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。 Java 反射机制主要提供了以下功能: ①:在运行时判断任意一转载 2015-05-23 10:31:08 · 385 阅读 · 0 评论 -
java事件机制
java事件机制包括三个部分:事件、事件监听器、事件源。 1、事件。一般继承自java.util.EventObject类,封装了事件源对象及跟事件相关的信息。com.javaedu.event.CusEvent类Java代码 package com.javaedu.event; import java.util.EventObject; /*转载 2015-05-23 08:19:26 · 354 阅读 · 0 评论 -
reflect的基石Cass类(黑马程序员)
反射的基石——》Class类Class类代表java类,一个类被类加载器加载到内存中,占用一片存储空间,这个空间里面的内容就是字节码,不同的类的字节码是不同的,所以它们在内存中的内容是不同的,这个一个个的空间可分别用一个个的对象来表示如何得到各个字节码对应的实例对象(Class类型)1、类名.class,例如,System.class2、对象.getClass(),例如,new D转载 2015-05-25 19:47:19 · 319 阅读 · 0 评论 -
java的延时
在Java中有时候需要使程序暂停一点时间,称为延时。普通延时用Thread.sleep(int)方法,这很简单。它将当前线程挂起指定的毫秒数。如Java 代码复制内容到剪贴板try { Thread.currentThread().sleep(1000);//毫秒} catch(Exception e){} 在这里需要解释一下线程沉睡的时间。sleep(转载 2015-06-02 10:56:24 · 564 阅读 · 0 评论 -
报java.lang.NullPointerException错误的原因
一般报java.lang.NullPointerException的原因有以下几种: ·字符串变量未初始化; ·接口类型的对象没有用具体的类初始化,比如: List lt;会报错 List lt = new ArrayList();则不会报错了 ·当一个对象的值为空时,你没有判断为空的情况。 你可以试着把下面的代码前加一行代码: if(rb!=null && rb!="转载 2015-05-22 19:54:28 · 697 阅读 · 0 评论 -
JTable的常见用法
JTable常见用法一.创建表格控件的各种方式:1) 调用无参构造函数.JTable table = new JTable();2) 以表头和表数据创建表格.Object[][] cellData = {{"row1-col1", "row1-col2"},{"row2-col1", "row2-col2"}};String[] columnNames = {"col1转载 2015-06-01 08:31:28 · 2774 阅读 · 0 评论 -
java的事件监听器学习
一. 事件监听器的参与者:1.事件对象:一般继承自java.util.EventObject对象,由开发者自行定义.2.事件源:就是触发事件的源头,不同的事件源会触发不同的事件类型.3.事件监听器:事件监听器负责监听事件源发出的事件.一个事件监听器通常实现java.util.EventListener这个标识接口. 其整个处理过程是这样的,事件源可以注册转载 2015-06-01 11:08:52 · 707 阅读 · 0 评论 -
java串口编程
java调用coms端口串口通信的方法。首先需要下到串口驱动。javacomm20-win32.zip去sun的主页应该有下的。在这个驱动中有comm.jar,javax.comm.properties,win32com.dll这么3个重要的文件。1、首先配置驱动,把javax.comm.properties,win32com.dll拷贝到你的jdk中具体位置为C:\Pro转载 2015-06-01 14:42:14 · 701 阅读 · 0 评论 -
java的StringBuffer类使用
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在St转载 2015-06-01 15:05:36 · 386 阅读 · 0 评论 -
java的线程安全与不安全
回归正题,当我们查看JDK API的时候,总会发现一些类说明写着,线程安全或者线程不安全,比如说StringBuilder中,有这么一句,“将StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用StringBuffer。 ”,那么下面手动创建一个线程不安全的类,然后在多线程中使用这个类,看看有什么效果。 Count.java:转载 2015-06-02 08:24:07 · 498 阅读 · 0 评论 -
java 的synchronized详解
记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的转载 2015-06-02 16:20:40 · 501 阅读 · 0 评论 -
java中static final this super的用法
Java中static、this、super、final用法 一、static请先看下面这段程序:public class Hello{public static void main(String[] args){//(1)System.out.println("Hello,world!");//(2)}}看过这段程序,对于大多数学过Java 的从转载 2015-06-01 17:38:35 · 592 阅读 · 0 评论 -
java打包成桌面exe文件
前言:我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同。其实将java程序打包成exe也需要这个可执行jar文件。准备:eclipse、exe4j(网上有软件和帐号下载)第一步,将java项目打包成可执行jar文件,首先看一下我的java project结构,Main.java是程序入口类,里面有main函数,co转载 2015-05-22 19:46:31 · 783 阅读 · 0 评论 -
Java String.split()用法小结
它是java.lang包中的String.split()方法,返回是一个数组我在应用中用到一些,给大家总结一下,仅供大家参考:1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能转载 2015-05-22 09:58:52 · 334 阅读 · 0 评论 -
java的observer观察者模式
在Java中通过Observable类和Observer接口实现了观察者模式。Observer对象是观察者,Observable对象是被观察者。1. 实现观察者模式实现观察者模式非常简单,[1]创建被观察者类,它继承自java.util.Observable类;[2]创建观察者类,它实现java.util.Observer接口;[3]对于被观察者类,添加它的观察者:转载 2015-05-22 20:15:24 · 322 阅读 · 0 评论 -
java中ArrayList、Vector的使用
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:1.ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储转载 2015-05-22 20:12:55 · 370 阅读 · 0 评论 -
java串口包安装
安装个java的串口包安装了半天,一直找不到串口,现在终于搞定了,做个记录~因为是windows下开发,去下载http://mdubuc.freeshell.org/Jolt/javacomm20-win32.zip (完整的2.0版本,还有examples)。安装说明:(这里的所谓安装就是把三个重要的文件放到指定的目录下) 将下载的文件解压缩后,在\javacomm转载 2015-05-22 19:48:10 · 1602 阅读 · 0 评论 -
List的基础知识
概要:List中可以添加任何对象,包括自己定义的新的类。Map 的常用实现类有:ArrayList 和 LinkedList。下面是Java list的用法排序及遍历| |目录1Java List用法 - ArrayList2Java List用法 - LinkedList3Java List 排序 - 数字排序4Java Lis转载 2015-08-04 17:31:14 · 952 阅读 · 1 评论