Java高级
文章平均质量分 84
刘兆贤
简单和复杂之间转化。
展开
-
JAVA基础知识汇总
Java基础方面:1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域当前类同一package子孙类其他packagepublic √ √ √ √protected √ √ √ ×friendly √ √ × ×private √ × × ×不写时默认为friendly2、ArrayList和Vecto原创 2010-12-15 12:50:00 · 2294 阅读 · 0 评论 -
Java支持多线程同步的关键字
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 在阅读《Thinking in Java》的过程事,并发这一章出现不少新特性,工作中也有遇到,就详细介绍一下原创 2013-11-15 10:14:00 · 1860 阅读 · 0 评论 -
从业四年看并发
从业到现在,一直是看别人的博客,看别人的文章,一直在学习,总结的只是经验性东西,可以复用的,比较深的见解还从未写出来过。今天清英同学号召大家分享并发经验,抛开大家已经写的东西,看看一个从业四年的人是如何看待这个问题的吧! 一直写java程序,一开始从基础操作写起,再者功能,再者逻辑,现者算法,慢慢接触到大型项目,并发、多线程、IO操作就开始用的多了。 在刚开始,接触到用子线程+handler的方式处理任务,完成后给UI线程提供处理结果,稍后用runonuithead,asynctask比较多原创 2014-01-21 12:13:56 · 4011 阅读 · 8 评论 -
读书笔记- 一切都是对象
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!OO与PO:面向对象(Object Oriented)与面向过程(Procedure Oriented)前者面向对象,首先构造一个对象,然后设置对象方法,最后由对象来处理任务,只关注结果。后者面向过程,首先设置对象的方法,然后排序,最...原创 2014-01-06 14:08:07 · 1674 阅读 · 0 评论 -
Java高级之内存模型分析
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !下文是博主感悟,请带着怀疑性的态度阅读!需要了解基本变量所占内存大小,请移步:读书笔记-类结构的认识Java存储空间有这么几块-来源于Java编程思想寄存器:位于处理器内部,不受外层代码控制,由处理器自行分配-C/C++可以建议分配方式,使用句柄(包含引用类型和引......原创 2016-05-26 22:02:44 · 2292 阅读 · 0 评论 -
Java高级之虚拟机垃圾回收机制
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !区别于C语言手动回收,Java自动执行垃圾回收,但为了执行高效,需要了解其策略,更好的去应用。以下用HotSpot虚拟机为例,选取几个有意思的参数讲一下1、默认GC时间为总时间的1%。也就是说GC线程设置有超时时间,防止卡死或过多妨碍主线程。2、最高最低内存空闲比原创 2016-05-27 19:07:59 · 2582 阅读 · 0 评论 -
Java基础之集合类如ArrayList、LinkedList、HashMap、HashTable的区别
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !ArrayList是一个动态数组,有下标LinkedList是一个双向链表,一个指针指向下一个相同点:都继承自Collections类,放动态数据。不同点:后者有指针,增加一个数据,只用断开一个连接,分别将新数据连上删除一个数据,区别在于如果这个数据位于数组中间...原创 2013-04-30 23:54:39 · 3425 阅读 · 0 评论 -
软件通信之HTTP通信协议
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!Http通信协议http:超文本传输协议。通信有四步骤:建立连接、发送请求、发送响应、关闭连接,主要用来传输数据,只要你能想到的数据。例Url链接:http://www.wenku.baidu.com/view/a02d9786b9d528ea81c7796d.htmlhtt...原创 2013-05-19 09:37:19 · 5373 阅读 · 0 评论 -
Java中级之线程池源码剖析
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!线程池伴随着线程的产生而产生,主要用于线程复用,减少内存泄露。线程池中使用Thread作为执行体,使用Runnable接口作为执行者,一个个执行者以任务的方式在执行体里完成。任务以下指一个实现Runnable接口的Worker对象,任务放在Thread中被执行原理:corePoolSize:活......原创 2017-07-10 20:39:08 · 1901 阅读 · 0 评论 -
Java高级之注解、反射
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!Java的注解、反射等机制的产生,让动态代理成为可能,一般通过全限定名+类名,找到类,可以invoke它的构造方法以及其他方法,可以获取它的参数(Field)名称和值。注解一般用在代码的注释上、代码审查上(有没有按标准写,比如inspect)、代码注入(hook,asbect.........原创 2017-07-12 16:14:56 · 2261 阅读 · 0 评论 -
Java高级之类结构的认识
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!Java体系包括,各种版本的虚拟机,可执行文件,各种第三方类库,Java API类库,Java语言发展史:91年James Gosling博士带领开发出Oak,95年互联网兴起来变成Java,并正式改名,并提出“一次编译到处执行”的口号。96年1.0正式发布,代表技术有Java虚拟...原创 2016-05-20 19:36:54 · 2617 阅读 · 4 评论 -
Java高级之线程同步
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 关于实现多线程的意义,“从业四年看并发”一文已经讲述,而本篇主要讲一下常用的设计模式和对象介绍,关于底层,请查看“Java高级之内存模型分析”。 通常情况下,狭义上来说,实现了变量或对象的原子性,即可以实现线程安全。什么叫线程的原子性,即执行read-load-assign-use-store-wr原创 2016-06-29 21:50:11 · 1869 阅读 · 0 评论 -
Java高级之单例的合理用法
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!单例,目的是共用一份“类”的引用,去操作其内部业务;故单例,应该用于多线程。如果是单线程,建议直接使用“类”作成员变量,来操作其内部业务。优势:不需要多次初始化“类”对象,共用一份“类”的引用。劣势:使...原创 2019-06-18 21:50:54 · 1304 阅读 · 1 评论 -
Java基础之字符串匹配大全
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 首先介绍几个概念:字节:byte 字符:字母或者汉字等 位:计算机语言 用来表示0或11 bit = 1 二进制数据 1 byte = 8 bit 1 字母 = 1 byte = 8 bit 英文输原创 2011-12-12 06:45:22 · 6260 阅读 · 5 评论 -
Java基础之continue与break区别
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 做Java程序,不免要遇到循环的情况,continue与break什么时候用,怎么用就比较重要;代码如下:public class TestBreak { /** * @param args */ public static v原创 2012-09-21 10:30:35 · 1375 阅读 · 0 评论 -
Java科普之基础知识回顾
Java超级基础语法、表达式、抽象与接口、JVM、寄存器、垃圾回收、引用、线程原创 2013-08-14 22:43:58 · 2045 阅读 · 0 评论 -
Java基础架构
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 人所共知,equals与==之间是有差别的,结果为true,equals代表引用相等,==代表值相等。什么是引用,什么是值,今天我给大家讲一讲。 举例说明:String str="abc";//str就是一个引用,abc...原创 2012-08-06 09:55:42 · 1962 阅读 · 0 评论 -
读书笔记-简单叙述对象关系
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 在Java中,最明显的特征就是面向对象,讲到对象就不得不讲到关系,跟人类社会的人际关系一样复杂。 我们先讲讲其中的两个概念,组合与聚合。以下默认均是两个对象之间的关系,以小喻大。 ...原创 2013-12-28 18:38:36 · 1515 阅读 · 0 评论 -
读书笔记-容器深入理解
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! ArrayList底层是由数组支持,而LinkedList是由双向链表实现,因此插入或删除,LinkedList比较合适,查询则用ArrayList,HashSet是查询速度最快的,LinkedH...原创 2014-01-20 19:40:30 · 1929 阅读 · 2 评论 -
读书笔记-容器、泛型及反射
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 在Java中,对象的封装非常常见,今天我们可以聊下容器和泛型的问题,对对象进行更深入一点的研究。 常见窗口有Set、Queue、Map,也称为集合类,属于Collection。ArrayList属于一个“可以自动扩充自身尺寸的数组“,Linke原创 2014-01-20 11:54:56 · 1573 阅读 · 0 评论 -
读书笔记-并发
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!并发产生的大环境:所有事情都是顺序执行的,但总有一些事情需要同时进行,这种现象就叫并发。一般情况下,多核处理器机器处理快,相当于几个人在同时做几件事,而单核相当于一个人在同时做几件事,通常情况下,我们要提高性能,都是在单核上进行操作的,毕竟单核提高,多核更快。单核程序,增加了事...原创 2014-02-01 11:57:25 · 2167 阅读 · 0 评论 -
读书笔记-内存初始化和清理
在Java开发中,对象创建、数据关系、垃圾回收始终是不变的话题,今天我们来简单说一下初始化和清理的问题。 我们知道对象未被初始化即被使用,是要报错的,所以一般情况下在类构造方法里去赋初值,确保初始化工作的完成。关于构造方法,我们可以使用不同参数类型和数目的构造器。 this关键字代替了对象,以调用方法,在内部类里面十分有用,可以避免建造多余对象;另外一方面在一个构造器内调用另一个,可以避免重复代码。static方法内部不能调用非静态方法和变量,不能使用this关键字。原创 2014-01-06 16:07:03 · 2088 阅读 · 0 评论 -
Java生产者与消费者(下)
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!上一讲我们让消费者和生产者都各停1毫秒,实际上大多并不是这样的。第二讲,我们讲一个极端的例子和一个正常的例子,假设您已经看过上一讲,我们只改变Consumer和Producer,来看结果。Java生产者与消费者(上)名词解释wait:当前线程不运行,处理等待状态,等原创 2014-03-30 08:28:08 · 2377 阅读 · 0 评论 -
Java生产者与消费者(上)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 生产与消费者模式,是编程中最常用的模式之一,在多线程中应用比较明显。个人理解:在自助餐厅,厨师在不断做菜放桌子上,吃货不断从桌子上拿东西,这中间如果桌子上已经摆满那厨师要暂停工作 ,桌子上已没有食物则吃货要暂停拿东西吃。先决条件,食材充足,桌子一定。本程序设计原则:由于synchr原创 2014-03-27 21:45:06 · 2812 阅读 · 0 评论 -
Java中join和yield的作用
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 1、 A.join,在API中的解释是,堵塞当前线程B,直到A执行完毕并死掉,再执行B。用一个小例子来说明吧static class ThreadA extends Thread { @Override public void run() { /原创 2014-03-30 16:00:30 · 5607 阅读 · 8 评论 -
Java高级之内存初始化时机
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!研究内存的初始化时机,有助于设计“降低应用内存消耗”方案!public class A { private Object mObject = new Object();// or static private st...原创 2019-06-19 15:24:36 · 2194 阅读 · 0 评论