
javase
文章平均质量分 62
qq_41665356
这个作者很懒,什么都没留下…
展开
-
javaSE_基础(编译、运行)
一、编译、运行// 编译java文件javac xxx.java// 运行字节码文件/.Class文件java xxx// 由注释生成类文档javadoc -version -author xxx.java文档注释/*** @author 作者名* @version 版本号*/...原创 2018-05-07 11:26:20 · 285 阅读 · 0 评论 -
javaSE_异常
基本语法:try {Integer n = 1/0;} catch (RuntimeException e) {e.printStackTrace();} finally {System.out.println("---finally---");}输出:java.lang.ArithmeticException: / by zeroat com.gary.exception.UseExceptio...原创 2018-05-08 07:41:12 · 168 阅读 · 0 评论 -
javaSE_多线程
线程的创建和启动:A:继承Thread类创建线程1.定义Thread类的子类,并重写run方法。2.创建对象,调用start方法启动线程. B:实现Runnable接口来创建线程1.创建一个类实现Runnable接口,并重写run方法。2.创建类对象,并以此实例作为Thread的target来创建Thread对象。3.调用Thread对象的start方法启动线程。 1. Thread public...原创 2018-05-08 07:41:25 · 252 阅读 · 0 评论 -
javaSE_多线程之线程池
1) 使用语法先上一个简单的例子:public static void useExecutorService(){ExecutorService executorService = Executors.newFixedThreadPool(3);for (int i = 0; i < 5; ++i){executorService.execute(new Runnable(){@Overri...原创 2018-05-08 07:41:38 · 182 阅读 · 0 评论 -
javaSE_log
Log主要有两类:java.util.logging.Logger和log4j的Logger。1. java.util.logging.Logger// 获取logLogger log = Logger.getLogger("uselog");// 设置日志级别log.setLevel(Level.FINEST);共有如下选项: Logger.OFF;// 关闭日志 Logger.SEVERE...原创 2018-05-09 08:18:11 · 510 阅读 · 0 评论 -
javaSE_JAVA虚拟机
Java Heap分为3个区1.Young(年轻代)2.Old(年老代)3.Permanent(持久代)Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。持久区又叫方法区:存放每个Class的结构信息,包括常量池、字段描述、方法描述等等。 JVM有2个GC线程第一个线程负责回收Heap的Young区第二个线程在Heap不足时,遍历Heap,将Young 区升级为Older区 ...原创 2018-05-09 08:19:53 · 201 阅读 · 0 评论 -
javaSE_随机数与UUID
1. 获取随机数public static int getRandom(int maxNum){Random ran = new Random();return ran.nextInt(maxNum);}System.out.println(getRandom(20));// 获取随机数 2. 获取UUIDpublic static String getUUID(){return UUID.ran...原创 2018-05-09 08:18:31 · 292 阅读 · 0 评论 -
javaSE_获取系统信息
获取一些系统里的常量信息,如:// 操作系统名String osName = System.getProperty("os.name");System.out.println(osName); // 获取所有属性Properties pros = System.getProperties();Set<String> proKeys = pros.stringPropertyNames(...原创 2018-05-09 08:18:47 · 190 阅读 · 0 评论 -
javaSE_获取java虚拟机信息
获取java虚拟机信息程序是在java虚拟机中运行的,动态获取虚拟机中的运行时环境:如://Java 虚拟机中的内存总量,以字节为单位 int total = (int)Runtime.getRuntime().totalMemory()/1024/1024;System.out.println("内存总量 :" + total + "mb"); int free = (int)Runti...原创 2018-05-09 08:18:55 · 1034 阅读 · 0 评论 -
javaSE_常用Math方法
Math.PI // 3.141592653589793// 弧度转角度Math.toDegrees(Math.PI);// 180.0// 角度转弧度Math.toRadians(180);// 3.141592653589793Math.sin(Math.toRadians(90));// 1.0Math.cos(Math.toRadians(180));// -1.0Math.tan(Ma...原创 2018-05-09 08:19:05 · 217 阅读 · 0 评论 -
javaSE_中文转拼音
使用第三方包:pinyin4j-2.5.0.jar/** * 汉字转拼音,非汉字保留 * @param hanziString 汉字串 * @param toneType 音调类型 * @return 拼音串 */public static String getPinyinAll(String hanziString, HanyuPinyinToneType toneType){if(hanziS...原创 2018-05-09 08:19:14 · 622 阅读 · 0 评论 -
javaSE_final和static
很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变。看下面这个例子:public class Test { public static void main(String[] args) { MyClass myClass1 = new MyClass(); MyClas...原创 2018-05-09 08:19:28 · 122 阅读 · 0 评论 -
javaSE_计算时间差
1. 计算时间差 String dateStart = "2013-02-19 09:29:58"; String dateStop = "2013-02-20 11:31:48"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1 =...原创 2018-05-09 08:19:35 · 143 阅读 · 0 评论 -
javaSE_枚举
定义枚举:public enum WeekEnum {Monday, //星期一Tuesday, //星期二wednesday, //星期三Thursday, //星期四Friday, //星期五Saturday, //星期六sunday; //星期日}枚举是一个类,它可以有自己的成员变量和方法,但是它是一个特殊的类,它不能通过new来创建对象。它只能通过枚举类的valu...原创 2018-05-08 07:41:01 · 200 阅读 · 0 评论 -
javaSE_压缩文件读写
1. 将字符串压缩到内存private byte[] zip(String foo) {ByteArrayOutputStream baos = new ByteArrayOutputStream();ZipOutputStream gzos = null;try {gzos = new ZipOutputStream(baos);gzos.putNextEntry(new ZipEntry("M...原创 2018-05-08 07:40:49 · 211 阅读 · 0 评论 -
javaSE_写文件
1. 保存字串到文件private void saveStringToFile(String content, String filePath) {FileWriter fwriter = null;try {fwriter = new FileWriter(filePath);fwriter.write(content);} catch (IOException ex) {ex.printSt...原创 2018-05-08 07:40:21 · 208 阅读 · 0 评论 -
javaSE_基础(数据类型)
一、数据类型1. 基本类型: 数据类型字节整数byte1short2int4long8浮点数float4double8布尔boolean1字符char2如何查看?如:System.out.println("Double: " + Double.SIZE/8);System.out.println("Character: " + Character.SIZE/8); // 8进制数字前加0int n...原创 2018-05-07 11:29:01 · 173 阅读 · 0 评论 -
javaSE_基础(位运算符)
一、位运算符符号说明例子>>右移System.out.println(9>>2);// 20 00001001 -> 0 00000010>>>无符号右移System.out.println(-9>>>2);// 1073741821<<左移空出位补0System.out.println(9<<2);原创 2018-05-07 11:40:01 · 220 阅读 · 0 评论 -
javaSE_基础(字符串)
StringBuffer:线程安全StringBuilder:非线程安全,工作中多使用这个,因为效率更高。1. String常用方法:方法含义length长度charAt返回某一个字段startWidth以XXX开始contains包含endwidth以XXX结束toLowerCase转小写toUpperCase转大写replace替换第一个replaceAll替换所有Trim去掉前后的空格equ...原创 2018-05-07 11:43:10 · 155 阅读 · 0 评论 -
javaSE_基础(排序)
一、排序1. 数组升序排序java提供了一个类专门处理数组:ArraysInteger[] arrays = new Integer[]{1,5,7,4,3};Arrays.sort(arrays);for (Integer array : arrays){System.out.print(array + " ");}输出:1 3 4 5 7 2. 数组降序排序Integer[] arrays...原创 2018-05-07 11:51:00 · 199 阅读 · 0 评论 -
javaSE_集合与队列(set)
Set是个接口类,有很多派生类:在插入数据时,它通过数据的hashCode方法获取一个值,可以理解为其内部有一个map,hashCode为键,值为值。因此添加两个一样的数据时,第二个会失败。HashSet类按照哈希算法来存取集合中的对象,存取速度比较快TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。 1) HashSetpublic static void set_In...原创 2018-05-07 12:01:34 · 808 阅读 · 0 评论 -
javaSE_集合与队列(list)
1. ListArrayList() : 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。LinkedList(): 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。Vector:jdk1.5之后就使用ArrayList替换了。 ArrayList内部有个数组,默认长度为10,当插入的数据超过10的时候会新开辟一个空间,大小为之前的1....原创 2018-05-07 14:15:50 · 298 阅读 · 0 评论 -
javaSE_集合与队列(map)
Map:健值对,健不能重,和set一样,有HashMap、LinkedHashMap、TreeMap三种。HashMap,基于散列表实现,查找速度快(依赖hashcode()和equals()),存放元素无序。ConcurrentHashMap,线程安全的HashMap,用于替代HashTable(线程安全,但基于整个对象的锁实现的,效率不高),而ConcurrentHashMap是采用分段加锁...原创 2018-05-07 14:32:11 · 1027 阅读 · 0 评论 -
javaSE_集合与队列(queue)
Queue并发队列(非线程安全):PriorityQueue 优先级队列,队列中的数据在插入时会排序,因此如果是自定义类,需要派生Comparable,通过排序实现了优先权。ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列。 阻塞队列(线程安全):ArrayBlockingQueue 基于数组,是有界的,new时必须指定队列的大小。LinkedBlock...原创 2018-05-07 14:35:50 · 929 阅读 · 0 评论 -
javaSE_继承与多态
这篇文章已写得很好了,详见:http://www.cnblogs.com/dolphin0520/p/3811445.html原创 2018-05-08 07:39:29 · 209 阅读 · 0 评论 -
javaSE_反射
反射就是可以通过程序动态的去修改jvm虚拟机已经加载好的方法区里面的属性、成员变量。通过反射获取类:Class clz = Class.forName("com.gary.model.Student");1. 创建对象通过类创建对象:Student obj = (Student) clz.newInstance();// 通过类创建对象通过构造函数创建对象:System.out.println("...原创 2018-05-08 07:39:52 · 253 阅读 · 0 评论 -
javaSE_文件
1. 文件:File file = new File("d:/temp/newfile.txt");try {// 创建文件 boolean bcreate = file.createNewFile();System.out.println("创建文件成功?"+bcreate);} catch (IOException e) {e.printStackTrace();}System.out.pr...原创 2018-05-08 07:40:36 · 172 阅读 · 0 评论 -
javaSE_读文件
方式一:InputStreamReader:(可以指定编码)public static void readFile_InputStreamReader() {File file = new File("xxx.log");if (!file.exists()) {System.out.println("文件不存在");return;}try (//字节流--文本文件FileInputStream ...原创 2018-05-08 07:40:09 · 222 阅读 · 0 评论 -
javaSE_零散知识点
1. 从控制台输入Scanner scanner = new Scanner(System.in);System.out.println("请输入数字:");int num= scanner.nextInt();System.out.println("加1后为:"+(num+1));运行:请输入数字:5加1后为:6...原创 2018-05-09 08:19:41 · 148 阅读 · 0 评论