try

EAS常用工具类

懵懂的女人 提交于 2019-12-27 00:34:55
1 package com.kingdee.eas.custom; 2 import java.io.File; 3 import java.io.FileNotFoundException; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.PrintWriter; 8 import java.io.StringWriter; 9 import java.math.BigDecimal; 10 import java.sql.SQLException; 11 import java.text.ParseException; 12 import java.text.SimpleDateFormat; 13 import java.util.ArrayList; 14 import java.util.Date; 15 import java.util.HashMap; 16 import java.util.Iterator; 17 import java.util.Map; 18 import javax.swing.JFileChooser; 19 import javax.swing

Java多线程之ReentrantLock与Condition

假如想象 提交于 2019-12-27 00:01:46
一、ReentrantLock 1、ReentrantLock简介 ReentrantLock是一个可重入的互斥锁,又被称为“独占锁”。ReentrantLock 类实现了 Lock ,它拥有与 synchronized 相同的并发性和内存语义,但是添加了类似锁投票、定时锁等候和可中断锁等候的一些特性。此外,它还提供了在激烈争用情况下更佳的性能。(换句话说,当许多线程都想访问共享资源时,JVM 可以花更少的时候来调度线程,把更多时间用在执行线程上。) 顾名思义,ReentrantLock锁在同一个时间点只能被一个线程锁持有;而可重入的意思是,ReentrantLock锁,可以被单个线程多次获取。 ReentrantLock分为“ 公平锁 ”和“ 非公平锁 ”。它们的区别体现在获取锁的机制上是否公平。“锁”是为了保护竞争资源,防止多个线程同时操作线程而出错, ReentrantLock在同一个时间点只能被一个线程获取(当某线程获取到“锁”时,其它线程就必须等待);ReentraantLock是通过一个FIFO的等待队列来管理获取该锁所有线程的。在“公平锁”的机制下,线程依次排队获取锁;而“非公平锁”在锁是可获取状态时,不管自己是不是在队列的开头都会获取锁。 2、ReentrantLock函数列表 // 创建一个 ReentrantLock ,默认是“非公平锁”。

【幻化万千戏红尘】qianfeng-Android-Day12SharedPreference、内部存储、外部存储

五迷三道 提交于 2019-12-26 19:43:37
Android 数据存储 ——SharedPreferences 及 SDCard 一、数据存储选项: Data Storage ——Storage Options【重点】 1 、 Shared Preferences Store private primitive data in key-value pairs. 保存简单的键值对数据。 2 、 Internal Storage Store private data on the device memory. 在手机内存中保存不对外共享的信息。 3 、 External Storage Store public data on the shared external storage. 在外部存储设备上保存公共的数据信息。主要指保存在 SDCard 上。 4 、 SQLite Databases Store structured data in a private database. 将结构化的数据保存进数据库。 5 、 Network Connection Store data on the web with your own network server. 将数据保存到自己的远程服务器上。 【备注:】 内部存储空间十分有限,因而显得可贵,另外,它也是系统本身和系统应用程序主要的数据存储所在地,一旦内部存储空间耗尽

Java异常

落花浮王杯 提交于 2019-12-26 19:14:34
相关概念 异常:异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。 异常情形:异常情形是阻止当前方法或作用域继续执行的问题,异常情形特点是在当前环境无法获得必要信息来解决问题。 抛出异常:抛出异常是指面对异常情形,从当前环境跳出,把问题交给上一级环境。 捕获异常:如果某方法内部抛出了异常或方法内部调用的其他人方法抛出了异常,这个方法将在抛出异常的过程中结束。当不希望该方法就此结束时,可在方法内设置一个特殊块来捕获异常并交由异常处理程序进行处理。 异常处理程序:抛出的异常必须在某处得到处理,这个地点就是异常处理程序,针对于每一个捕获的异常,需要有相应的处理程序。 异常分类 Throwable类被用来表示任何可以作为异常被抛出的类。它分为两种类型:Error表示编译时和系统错误;Exception是可以被抛出的基本类型。在Java类库中,用户方法和运行时故障都有可能抛出Exception,设计程序时需要关注它。 Exception类分为RuntimeExceprion--程序错误导致的异常;其他异常--例如I/O错误。 RuntimeException情形包括: 1)错误类型转换 2)数组访问越界 3)访问null指针 其他异常情形包括: 1)试图在文件尾部后面读取数据 2)试图打开一个不存在的文件 3)试图根据给定的字符串查找Class对象

线程间通信 Object/wait(),notify() 和 Lock/Condition/await(),signal()

痞子三分冷 提交于 2019-12-26 18:35:38
基本前提知识: 一:Object/wait(), notify(), notifyAll()   1:wait() 方法暂停当前线程,并立即释放对象锁;   2:notify()/notifyAll() 方法唤醒其他等待该对象锁的线程,并在执行完同步代码块中的后续步骤后,释放对象锁   3:notify()和notifyAll()的区别在于:   notify只会唤醒其中一个线程,   notifyAll则会唤醒全部线程。     至于notify会唤醒哪个线程,是由线程调度器决定的。 例子: public class TestWaitAndnotify { public static void main(String[] args) { demo2(); } public static void demo2 () { final Object lock = new Object(); Thread A = new Thread(new Runnable(){ @Override public void run() { System.out.println("INFO: A 等待锁 "); synchronized (lock) { System.out.println("INFO: A 得到了锁 lock"); System.out.println("A1"); try {

六、java异常处理

北战南征 提交于 2019-12-26 17:08:07
目录 一、异常的概念 二、异常的分类 三、异常的捕获和处理 四、使用自定义异常 一、异常的概念 java异常是指java提供的用于处理程序 运行过程中 错误的一种机制 所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,索要读取的文件不存在等) 设计良好的程序应该在异常发生时提供处理这些错误的方法,是的程序不会因为异常的发生而阻断或产生不可预见的结果 java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被其提交给java运行系统,这个过程成为抛出(throw)异常 当java运行时系统接受到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程成为捕获(catch)异常 //一个捕获异常的示例 public class test { public static void main(String args[]) { try { System.out.println(2/0); } catch (ArithmeticException ae) { System.out.print("运行出错!"); } } } 二、异常的分类 Throwable:可被抛出的 Error:系统错误,做自己处理不了的 Exception:自己可以做处理的,可以catch的 RuntimeExpetion

捕获异常

只愿长相守 提交于 2019-12-26 15:18:01
/////语法上没有错误,在程序运行当中由于某些原因程序出现了错误不能正常运行 //int number=0;//声明变量 变量作用域问题 //Console.WriteLine("请输入一个数字"); /////try执行不了就执行catch //try { // number = Convert.ToInt32(Console.ReadLine());//赋值 //Console.WriteLine(number*2);//使用 在里面,在外面时会执行,输出0,在外面时解决方案在下方 //} //catch { // Console.WriteLine("您输入的数字有误"); //} //Console.ReadKey(); //使用在try外面解决方案 (布尔类型) bool b = true; int number = 0;//声明变量 变量作用域问题 Console.WriteLine("请输入一个数字"); ///try执行不了就执行catch try { number = Convert.ToInt32(Console.ReadLine());//赋值 } catch { Console.WriteLine("您输入的数字有误"); b = false; } //如果我们要执行下面这行代码,需要满足某些条件 //让代码满足某些条件去执行的话,用bool类型 if

java音乐播放器编写源码_java - JAVA

非 Y 不嫁゛ 提交于 2019-12-26 12:09:24
文章来源: 嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例为大家分享了java音乐播放器的具体代码,供大家参考,具体内容如下 源码: package baidu; import java.awt. ; import java.awt.event. ; import java.io. ; import java.util. ; import javax.swing. ; import javax.media.bean.playerbean. ; //这个包要用到JMF public class MP3 extends JFrame implements Runnable { public JLabel shijian; private JSlider sldDiameter; public MediaPlayer soumd1; public JButton playSound, loopSound, stopsound; public JButton tjian, shanc, baocun, duqu; public JPanel jp1, jp2, jp3, jp4; public JList jl; int zongmiao=0; public Vector vector, mingcheng; boolean fo = false,

Java多线程4- Lock、Condition

白昼怎懂夜的黑 提交于 2019-12-26 11:14:22
Lock是 java.util.concurrent.locks 包下的接口, Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿 Java线程(二) 中的一个例子简单的实现一下和sychronized一样的效果,代码如下: [java] view plain copy print ? public class LockTest { public static void main(String[] args) { final Outputter1 output = new Outputter1(); new Thread() { public void run() { output.output( "zhangsan" ); }; }.start(); new Thread() { public void run() { output.output( "lisi" ); }; }.start(); } } class Outputter1 { private Lock lock = new ReentrantLock(); // 锁对象 public void output(String name) { // TODO 线程输出方法 lock.lock(); // 得到锁 try { for (

Java异常处理总结

吃可爱长大的小学妹 提交于 2019-12-26 11:13:10
转自:http://blog.51cto.com/lavasoft/18920 Java异常处理总结 异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出现,那么你每个地方都要做相同处理,感觉相当的麻烦! Java语言在设计的当初就考虑到这些问题,提出异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的子类异常(这里的异常包括错误概念),定义异常处理的规范,在1.4版本以后增加了异常链机制,从而便于跟踪异常!这是Java语言设计者的高明之处,也是Java语言中的一个难点,下面是我对Java异常知识的一个总结,也算是资源回收一下。 一、Java异常的基础知识 异常是程序中的一些错误 ,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。 有些异常需要做处理,有些则不需要捕获处理 ,后面会详细讲到。 天有不测风云,人有旦夕祸福,Java的程序代码也如此。在编程过程中