【java】
circujoker_06
hello world
展开
-
【java】Static解读和public static void main(String[] args)详细分析
首先问一个问题:publicstatic void main(String[] args)代码代表了什么含义?以及思考为什么java程序一开始就会进入main()函数,其实c、c++也是如此?后面一个问题有static的基础就非常容易。(后一个问题的答案提前公布:用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块) 现在回到第一个问题:转载 2015-11-27 20:29:30 · 41722 阅读 · 4 评论 -
【java】Synchronize关键字
package Synchronize;/** * 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。 * 另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块 * */public class Test01 implements Runnable { public void run()原创 2017-03-27 22:21:47 · 300 阅读 · 0 评论 -
【java】死锁
package Synchronize;class ShareObject1{}class ShareObject2{}class Thread1 extends Thread{ public void run(){ synchronized (ShareObject1.class){ System.out.println("线程1获取到S原创 2017-03-28 13:59:50 · 334 阅读 · 0 评论 -
【java】关键字
1.statichttp://blog.csdn.net/lzm18064126848/article/details/537697782.Abstacthttp://liuzxc.github.io/blog/java-advance-01/抽象类 abstract class Test {}抽象方法 abstract void test();抽象类不能被实例化,只能是被继承,原创 2016-12-25 20:20:49 · 225 阅读 · 0 评论 -
【java】生产者/消费者问题
生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品。解决生产者/消费者问题的方法可分为两类:(1)采用某种机制保护生产者和消费者之间的同步;(2)在生产者和消费者之间建立一个管道。第一种方式有较高的效率,并且易于实现,代码的可控制性较好,属于常用的模式。第二种管道缓冲区不易控制,被传输数据转载 2017-03-28 20:09:26 · 226 阅读 · 1 评论 -
【Java】构造函数
package Test; class Base{ int num=1; public Base(){ this.print(); num=2; } public Base(int num){ this.num=num; this.print(); } publi原创 2017-03-23 13:49:59 · 263 阅读 · 0 评论 -
【java】java输入
system.in.read()方法的作用是从键盘读出一个字符,然后返回它的Unicode码。enter和换行符也都是被当成输入的一部分,也就说一次输入三个字符import java.io.IOException;public class test { public static void main(String[] args){ for(int j = 0; j < 5; j++)原创 2017-04-04 20:53:34 · 582 阅读 · 0 评论 -
【java】理解Java垃圾回收机制
转载地址:http://jayfeng.com/2016/03/11/%E7%90%86%E8%A7%A3Java%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E6%9C%BA%E5%88%B6/讲GC原理很简单,但是把GC原理讲的简单就不简单了。本文力求简单透彻,让所有Android开发人员都能明白基本的GC原理。Jvm(Java虚拟机)内存模转载 2016-12-23 22:02:08 · 301 阅读 · 0 评论 -
【java】数组复制几种方式比较
import java.util.Arrays;/** * System.arraycopy方法的使用。 * 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束 */public class LessionSystemArraycopy { public static void main(String[] args) { // 此方法为n原创 2016-12-21 14:32:47 · 1531 阅读 · 0 评论 -
【java】线程池
在java语言中,可以通过new Thread的方法来创建一个新的线程执行任务,但是线程的创建是非常耗时间的,而且创建出来的新的线程都是各自运行,缺乏统一的管理,这样做的后果是可能导致创建过多的线程从而过度消耗系统的资源,最终导致性能急剧下降,线程池的引入就是为了解决这些问题的当使用线程池控制线程数量的时候,其他线程排队等候,当一个任务执行完毕后,再从队列中取出最前面的任务开始执行。如果队原创 2017-03-28 13:27:09 · 291 阅读 · 0 评论 -
【java】AtomicInteger
package Synchronize;/*** * 在java中i=i++ 不是线程安全的 * 具体执行过程: * 栈temp=i; * i++; * i=temp; * 由上可以知道不是一个原子操作,线程不安全 * * 解决方法: * synchronized关键字 * AtomicInterger是一个提供原子操作的Interger类,它提供了线程安全且高效的原子操作,原创 2017-03-28 11:15:25 · 295 阅读 · 0 评论 -
【java】Lock
package Synchronize;/** JDK5新增加了Lock接口以及它的一个实现类ReentrantLock(重入锁),Lock也可以用来实现多线程的同步。 1.lock() 以阻塞的方式获取锁,也就说,如果获取到了锁就立刻返回,如果其他线程持有锁,当前线程等待,知道获取锁以后返回 2.tryLock() 以非阻塞的方式获取锁。只是尝试性地去获取一下锁,如果获取到了锁,则原创 2017-03-28 10:43:19 · 232 阅读 · 0 评论 -
【java】Comparable和Comparator区别小结
参考资料:http://www.cnblogs.com/xujian2014/p/5215082.html阅读目录一、Comparable简介二、Comparator简介三、Comparable和Comparator区别比较一、Comparable简介 Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持转载 2017-03-17 19:09:16 · 235 阅读 · 0 评论 -
【java】泛型中<? extends E>和<? super E>的区别
是 Upper Bound(上限) 的通配符,用来限制元素的类型的上限,比如[java] view plain copy Listextends Fruit> fruits; 表示集合中的元素类型上限为Fruit类型,即只能是Fruit或者Fruit的子类,因此对于下面的赋值是合理的[java]转载 2017-03-17 19:19:07 · 308 阅读 · 0 评论 -
【java】 内部类
Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner class 匿名内部类anonymous inner class静态内部类Static Inner Class 最简单的内部类形式。 类原创 2015-08-12 20:49:51 · 449 阅读 · 0 评论 -
【java】Math类
Java中存在着两种Random函数:一、java.lang.Math.Random;调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。例如下面的实验代码 编译通过后运行结果如下图 观察会发转载 2015-08-30 16:44:22 · 1129 阅读 · 0 评论 -
【java】String s = new String("xyz")创建了几个对象
原文地址:http://blog.csdn.net/lolashe/article/details/20000293要理解这个,就要知道string类的工作原理。你知道在java中除了8中基本类型外,其他的都是类对象以及其引用。所以"xyz"在java中它是一个String对象.对于string类对象来说他的对象值是不能修改的,也就是具有不变性。看:public class Tes原创 2016-12-23 13:58:08 · 2081 阅读 · 0 评论 -
【java】String 类字符串常量池
原文地址:http://xiaohuafyle.iteye.com/blog/1473335下面根据代码详细解释一下各种String构造情况。 代码如下: Java代码 public class TestConstructString { public static void main(String args[])转载 2016-12-23 14:39:44 · 443 阅读 · 0 评论 -
【java】String类常见面试题
参考文章:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html---Java中String类的方法及说明 内容有些老了http://www.cnblogs.com/freeabyss/archive/2013/05/15/3187057.html---Java 字符串常用操作(String类)https://docs.原创 2016-12-23 14:45:59 · 1079 阅读 · 0 评论 -
【java】浅谈 Java 字符串(String, StringBuffer, StringBuilder)
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2015-10-11 20:13:49 · 484 阅读 · 0 评论 -
【java】Queue
参考文章:http://www.cnblogs.com/qqzy168/p/3913994.html与c++的queue不一样,java中queue只是一个接口,具体方法需要实现类去完成package study;import java.util.LinkedList;import java.util.Queue;public class TestQueu原创 2016-12-24 20:54:33 · 732 阅读 · 0 评论 -
【Java】【多线程常见面试题】
1.子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码package Test;public class Test { static class Business{ private boolean Substop=false; public synchro原创 2017-04-02 17:05:54 · 275 阅读 · 0 评论 -
【java】hashCode
在前面三篇博文中LZ讲解了(HashMap、HashSet、HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最精华的部分,所以下面LZ揭开hashCode的“神秘”面纱。 hashCode的作用 要想了解一个方法的内在原理,我们首先需要明白它是干什么的,也就是这个方法的作用。在讲解数组转载 2017-03-26 16:28:30 · 215 阅读 · 0 评论 -
【java】【java collection】Vector
学习vector请看官方APIhttps://docs.oracle.com/javase/7/docs/api/java/util/Vector.html学习参考资料http://www.cnblogs.com/skywang12345/p/3308833.html学习vector请看源代码 自己还没有全部看完 看了一大半 还有后面一部分没有看完public clas原创 2017-04-13 20:47:19 · 656 阅读 · 0 评论 -
【java】HashTable
有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相对应的value值。一个是前面提到的HashMap,还有一个就是马上要讲解的HashTable。对于HashTable而言,它在很大程度上和HashMap的实现差不多,如果我们对HashMap比较了解的话,对Has转载 2017-03-26 16:05:40 · 250 阅读 · 1 评论 -
【java】【java Collection】LinkedList
源代码;package java.util;import java.util.function.Consumer;/** * Doubly-linked list implementation of the List and Deque interfaces. (实现队列和双端队列) * Implements all optional list operations, and原创 2017-04-14 21:25:47 · 356 阅读 · 0 评论 -
【java】<< 、>>、 <<<移位运算符
/** * >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;(左边为高位) * >>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。 * * 参考资料: * http://blog.csdn.net/blog_szhao/article/details/23997881 * http://www.cnblogs.com/原创 2017-04-15 20:53:29 · 511 阅读 · 0 评论 -
【java】自动装箱、拆箱
Java中的类型分为原始类型和对应的封装类型(装箱类型),基本类型包括byte字节型(一个字节)、char字符型(两个字节)、short短整型(两个字节)、int整型(四个字节)、long长整型(八个字节)、float浮点型(四个字节)、double 双精度浮点型(八个字节)、boolean型(一个字节)八种类型,对应的封装类型分别是Byte、Character、Short、Integer、Lon原创 2015-11-15 17:19:43 · 1321 阅读 · 0 评论 -
【java】Arrays.asList、Arrays.copyOfRange
参考文章:http://www.cnblogs.com/zolra/archive/2011/03/02/1969235.html原文地址:http://blog.csdn.net/love_xsq/article/details/43698903package se;import java.util.Arrays;import java.util.List;/** * *转载 2016-12-22 23:52:32 · 646 阅读 · 0 评论 -
【java】数组
参考资料:http://www.runoob.com/java/java-array.htmlhttp://developer.51cto.com/art/200906/128274.htmhttps://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html----oracle官方http://mouselearnjava.itey原创 2016-12-23 00:26:20 · 325 阅读 · 0 评论 -
【编程】记录曾经写过的那些代码
1.判断一年中具体某一天是一年中第几天import java.util.Calendar;import java.util.Scanner;public class MyCalendar { public static void main(String[] args){ Scanner in =new Scanner(System.in);原创 2017-09-23 15:54:19 · 905 阅读 · 0 评论 -
【java】BigDecimal、BigInteger、大数相乘、数值的整数次方、快速乘法
package Test;import java.math.BigDecimal;public class Test { public static void main(String[] args){ double d1=2.15; double d2=1.10; System.out.println("double运行的结果:"原创 2017-03-23 22:29:44 · 4389 阅读 · 0 评论 -
【java】【java Collection】Stack
源代码package java.util;/** * 先进后出 push pop peek empty search * The Stack class represents a last-in-first-out (LIFO) stack of objects. * It extends class Vector with five operations that allow原创 2017-04-14 16:57:38 · 433 阅读 · 0 评论 -
【java】【java Colletion】fail-fast
转载地址:http://blog.csdn.net/chenssy/article/details/38151189“快速失败”也就是fail-fast,它是Java集合的一种错误检测机制。当多个线程对集合进行结构上的改变的操作时,有可能会产生fail-fast机制。记住是有可能,而不是一定。例如:假设存在两个线程(线程1、线程2),线程1通过Iterator在遍历集合A中的元素,在某转载 2017-03-26 14:30:07 · 280 阅读 · 0 评论 -
【java】【java collection】ArrayList
1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量原创 2017-03-26 14:09:01 · 407 阅读 · 0 评论 -
【java】Enumeration、Iterator、ListIterator
/* * 参考文章: * http://www.runoob.com/java/java-enumeration-interface.html * */package test;import java.util.Vector;public class Enumeration { public static void main(String args[]) { /*原创 2016-12-27 14:08:58 · 541 阅读 · 0 评论 -
【java】HashMap
HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。 一、定义 HashMap实现转载 2017-03-26 15:44:32 · 209 阅读 · 0 评论 -
【Java】【多线程】终止线程
Java Thread Primitive Deprecation________________________________________Why is Thread.stop deprecated?因为它本质上是不安全。停止线程会使其释放所有已锁定的监视器。(当ThreadDeath异常传播到堆栈时,监视器将被解锁。)如果先前受这些监视器保护的任何对象处于不一致状态,则其他线程转载 2017-04-03 11:10:10 · 433 阅读 · 0 评论 -
【java】多线程终止
Java Thread Primitive Deprecation Why is Thread.stop deprecated?因为它本质上是不安全。停止线程会使其释放所有已锁定的监视器。(当ThreadDeath异常传播到堆栈时,监视器将被解锁。)如果先前受这些监视器保护的任何对象处于不一致状态,则其他线程现在可能会以不一致的状态查看这些对象。这个时候对象就已经被破坏了。当线原创 2017-04-03 11:23:20 · 475 阅读 · 0 评论 -
【java】反射
Car.javapackage test;public class Car { private String Brand; private String color; private int maxSpeed; public String getBrand() { return Brand; } public void setBrand(String原创 2015-09-02 16:53:22 · 357 阅读 · 0 评论