随笔分类 - Java基础
摘要:本文转自 https://www.jianshu.com/p/aed6067eeac9 关于IO多路复用,网上有各种说法,最常见的是认为是异步阻塞的,比如这里的https://cloud.tencent.com/developer/article/1165632,我对这个观点不是很认同,这个更像是对
阅读全文
摘要:本文转自 https://www.cnblogs.com/chanshuyi/p/the_java_class_load_mechamism.html 关键语句 我们只知道有一个构造方法,但实际上Java代码编译成字节码之后,是没有构造方法的概念的,只有类初始化方法 和 对象初始化方法 。 在许多J
阅读全文
摘要:本文转自 http://blog.oneapm.com/apm-tech/426.html 【编者按】本文作者在和同事的一次讨论中发现,对 IntelliJ IDEA 内存采用不同的设置方案,会对 IDE 的速度和响应能力产生不同的影响。 Don’t be a Scrooge and give yo
阅读全文
摘要:本文转自 https://blog.csdn.net/u011392897/article/details/60480108 LongAdder是jdk8新增的用于并发环境的计数器,目的是为了在高并发情况下,代替AtomicLong/AtomicInt,成为一个用于高并发情况下的高效的通用计数器。
阅读全文
摘要:本文转自http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/简介:Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Jav...
阅读全文
摘要:本文原创,转载请注明来自xiaoQLuhttp://www.cnblogs.com/xiaoQLu/archive/2013/05/13/2870588.html首先介绍一篇系统学习concurrency包的博文,有兴趣的可以细读下,写得很不错http://www.blogjava.net/xylz/archive/2010/07/08/325587.html,其中包括缓存线程池的核心队列的介绍http://www.blogjava.net/xylz/archive/2010/07/30/327582.html下面开始今天的正文,线程池的核心类为ThreadPoolExecutor类,线程池基
阅读全文
摘要:对于java中的值传递和引用传递一直颇受争论,《Core Java》的作者,以及JAVA的创造者James Gosling都认为当一个对象或引用类型变量被当作参数传递时,也是值传递,这个值就是对象的引用,因此JAVA中只有值传递,没有引用传递。还有一种说法是引用可以看作是对象的别名,当对象被当作参数
阅读全文
摘要:本文转自http://blog.csdn.net/hearrt/article/details/3951910遇到过很多关于 数值类型范围的问题了,在这做一个总结,我们可以从多方面理解不同数值类型的所能表示的数值范围在这里我们只谈论 java中的数值类型首先说byte:这段是摘自jdk中 Byte.java中的源代码:[java]view plaincopy/***Aconstantholdingtheminimumvaluea<code>byte</code>can*have,-2<sup>7</sup>.*/publicstaticfinal
阅读全文
摘要:其实深克隆跟浅克隆没有太大的区别,只是概念和叫法不一样,相同点:实现Cloneable接口,重写clone方法,注意和重载的区别,可参考JAVA的重载、覆盖和隐藏的区别一文为什么会有深克隆呢,其实是因为克隆的时候,java虚拟机只clone了基本数据类型和sting类型(注意String类型不是基本数据类型,它也没有实现clone方法),对于引用类型的成员,它没有处理。哪些是引用类型呢?其实就是数组啊,对象啊什么的,所以就造成了clone后的对象只有部分被复制,造成的后果你修改了里面引用类型的成员值,其原始地方的值也被改变了。把浅克隆改成深克隆的方法也很简单,就是在clone方法中把引用类型的
阅读全文
摘要:重载:方法名相同,但参数不同的多个同名函数 注意:1.参数不同的意思是参数类型、参数个数、参数顺序至少有一个不同 2.返回值和异常以及访问修饰符,不能作为重载的条件(因为对于匿名调用,会出现歧义,eg:void a ()和int a() ,如果调用a(),出现歧义) 3.main方法也是可以被重载的覆盖:子类重写父类的方法,要求方法名和参数类型完全一样(参数不能是子类),返回值和异常比父类小或者相同(即为父类的子类),访问修饰符比父类大或者相同 两同两小一大 注意:子类实例方法不能覆盖父类的静态方法;子类的静态方法也不能覆盖父类的实例方法(编译时报错),总结为方法不能...
阅读全文
摘要:本文转自http://hi.baidu.com/injava/item/aac168cd66af7a090bd93a3eHashMap的遍历效率讨论经常遇到对HashMap中的key和value值对的遍历操作,有如下两种方法:Map<String, String[]> paraMap = new HashMap<String, String[]>();................//第一个循环Set<String> appFieldDefIds = paraMap.keySet();for (String appFieldDefId : appField
阅读全文
摘要:本人引用自csdn讨论区:http://topic.csdn.net/u/20100413/11/5ebc247a-e399-4cd6-8c74-48c8036da282.htmlJava把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。 ...
阅读全文
摘要:本文转自http://blog.csdn.net/xtyyumi301/article/details/3015493Understanding Weak References以前我招聘过高级java工程师,其中一个面试题目是“你对weak reference了解多少?”。这个话题比较偏,不指望每个人都能清楚它的细节。如果面试的人说“Umm...好像和gc(垃圾回收)有点关系?”,那我就相当满意了。实际情况却是20多个5年java开发经验的工程师只有2个知道有weak reference这么回事,其中1个是真正清楚的。我试图给他们一些提示,期望有人会恍然大悟,可惜没有。不知道为什么这个特性un
阅读全文
摘要:1.内部类如类的成员一般,只是很特殊,不允许外部类访问他的成员,但是他可以访问外部类的成员2.外部类只能访问内部类的静态方法,且必须用 内部类.静态成员 的形式,不能直接使用3.静态内部类只能访问外部类的静态成员,不能访问非静态成员4.注意一个原则,静态成员只能访问静态成员,不能访问非静态成员,但是非静态成员可以访问静态成员,即使在同一个类中,静态方法也不能访问非静态成员5.初始化方法 非静态内部部,要使用 new 外部类.new 内部类 的方式 静态内部,直接使用 new 外部类.内部类 的形式
阅读全文
摘要:本文转自http://www.blogjava.net/freeman1984/archive/2007/09/27/148850.html六种异常处理的陋习你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?1 OutputStreamWriter out = ...2 java.sql.Connection conn = ...3 try { // ⑸4 Statement stat = conn.createStatement();5 ResultSet rs = stat.executeQuery(..
阅读全文
摘要:本文转自 http://blog.csdn.net/wangpingfang/article/details/4206340在我们开始这个话题之前,不妨请大家看一道大公司经常考察的笔试题,顺便也测试一下你自己对Java访问控制的理解是否到位。看完代码之后,你是否有这样一种想法:“我平时怎么没有写过这样的代码,这段代码看起来很怪,是不是存在错误”,如果你真的存在类似这样的想法,那么我可以明确地告诉你:你对Java访问控制描述符的理解还不够深刻。不过这没有关系,因为你看完这篇文章之后,你就可以和这种状况说再见了。现在就让我们开始愉快的学习之旅吧。访问级别描述符定义了其他类能否使用某个特定的成员变量
阅读全文
摘要:本文转自:http://wuhenjia.blog.163.com/blog/static/93469449201124114150295/(1)HashSet是set的一个实现类,hashMap是Map的一个实现类,同时hashMap是hashTable的替代品(为什么后面会讲到).(2)HashSet以对象作为元素,而HashMap以(key-value)的一组对象作为元素,且HashSet拒绝接受重复的对象.HashMap可以看作三个视图:key的Set,value的Collection,Entry的Set。 这里HashSet就是其实就是HashMap的一个视图。HashSet内部就是
阅读全文
摘要:一、对象的初始化顺序:(java类加载器加载类的顺序:http://blog.csdn.net/crazycoder2010/article/details/6288732)(1)加载父类(以下序号相同,表明初始化是按代码从上到下的顺序来的) 1.为父类的静态属性分配空间并赋于初值 1.执行父类静态初始化块;(2)加载子类 2.为子类的静态属性分配空间并赋于初值 2.执行子类的静态的内容;(3)加载父类构造器 3.初始化父类的非静态属性并赋于初值 3.执行父类的非静态代码块; 4.执行父类的构造方法;(4)加载子类构造器 5.初始化子类的非静态属性并赋于初值 5.执行子类的非...
阅读全文
浙公网安备 33010602011771号