- 浏览: 441756 次
最新评论
-
liaodongdakai:
Java读源码之Netty深入剖析网盘地址:https://p ...
java Netty 之 字符串消息收发(ChannelBuffer) -
萨琳娜啊:
Java读源码之Netty深入剖析网盘地址:https://p ...
java Netty 之 教学视频 -
ccqy66:
感觉步骤1的描述有问题吧,aof重写时是不会读原aof文件是, ...
Redis的AOF重写机制 -
dick1305:
没有了,能否再提供一个下载地址。谢谢。
java Netty 之 教学视频 -
dick1305:
...
java NIO 之 mina 和 netty
文章列表
java -- HashSet
- 博客分类:
- java--数据结构
java -- HashSet
HashSet 是一个没有重复元素的集合。
优点
没有重复元素
元素可以为null
操作很简单,更像是对HashMap做了一次“封装”,而且只使用了HashMap的key来实现各种特性。
缺点
不能保证元素 ...
java -- List总结
- 博客分类:
- java--数据结构
java -- List总结
概括
1. List 是一个接口,它继承于Collection的接口。它代表着有序的队列。
2. AbstractList 是一个抽象类,它继承于AbstractCollection。AbstractList实现List接口中除size()、get(int location)之外的函数。
3. AbstractSequentialList 是一个抽象类,它继承于AbstractList。AbstractSequentialList 实现了“链表中,根据index索引值操作链表的全部函数”。
4. Ar ...
java -- 集合错误机制 -- fail-fast
fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。
例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常,产生fail-fast事件。
fail-fast示例
1. FastFailTest中通过 new ThreadOne ...
java -- Stack
- 博客分类:
- java--数据结构
java -- Stack
Stack是栈。继承于Vector,它的特性是:先进后出(FILO, First In Last Out)。
特点
先进后出
Stack也是通过数组实现的,而非链表,Stack是继承于Vector。当然,我们也可以将LinkedList当作栈来使用
常用方法
代码示例
import java.util.Stack;
import java.util.Iterator;
import java.util.List;
/**
* @desc Stack的测试程序。测试常 ...
java -- Vector
- 博客分类:
- java--数据结构
java -- Vector
Vector 是矢量队列,和ArrayList有些类似,不过差别就在于Vector是线程安全的。
总结
Vector实际上是通过一个数组去保存数据的。当我们构造Vecotr时;若使用默认构造函数,则Vector的默认容量大小是10。
当Vector容量不足以容纳全部元素时,Vector的容量会增加。若容量增加系数 >0,则将容量的值增加“容量增加系数”;否则,将容量大小增加一倍。
Vector的克隆函数,即是将全部元素克隆到一个数组中。
java -- LinkedList
- 博客分类:
- java--数据结构
java -- LinkedList
LinkedList是一个简单的数据结构,与ArrayList不同的是,他是基于链表实现的。
优点
插入和删除操作比 ArrayList 更加高效
LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。
不需要连续的存储空间,只需要有指向上一个节点和下一个节点的标记就好
可以接受各种数据类型
LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。
缺点
随机访问的效 ...
java -- ArrayList
- 博客分类:
- java--数据结构
Java -- ArrayList
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。
优点
查找数据性能很快,跟Vector比也要快些
可以插入任何数据类型
以数组实现,节约空间,但有容量限制,默认初始化大小为10,当超出后,会自动扩容为原来的1/2(50%)的容量,即自动扩容机制。
缺点
非线程安全
更新删除性能会比较差,因为实质是数组
自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多少,可在构造ArrayList时指 ...
Java常用数据结构
- 博客分类:
- java--数据结构
Java常用数据结构
java集合的总体框架
Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*
Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。
Java集合工具包框架图(如下):
常用的集合
Java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现) ...
面试经验
- 博客分类:
- 总结 -- 工作经验
面试经验
德行
眼神:要坚定,可以看着面试官,不能飘忽不定。
身体语言:不能吊儿郎当,不能动来动去,坐姿规矩自然,不需要紧张,表现出性格稳定就好
沟通:说话平稳,不浮躁,遇到问题时,先沉着思考一下,不需要紧张,知之为知之,不知为不知,不需要装。情绪保持稳定,遇到刁难或挑衅,不需要紧张。
技术
卷子重要性:很多企业要程序员做卷子,只是想去掉一些没经验又没背书的人。所以还是要看一下面试题。
过往经验:说清楚最近一个项目,包含哪些模块,每个或某个模块的业务逻辑,面试官还会根据项目,提一些技术问题,所以要注意好项目的准备 ...
MySQL-- SQL优化经过
- 博客分类:
- 数据库--MySQL
MySQL-- SQL优化经过
背景:有一个SQL如下
SELECT ut.*
FROM user_transaction ut
WHERE tx_type IN (1, 4, 8) AND tx_status = 1
AND share_public = 1
AND user_id != 103 AND (peer_user_id IS NULL OR peer_user_id != 103)
AND (
user_id IN (SELECT DISTINCT friend_user_id from user_friend uf WHERE uf.u ...
常用设计模式
单例模式
(关键:new 一个 static 对象)
一个类只有一个示例,最典型就是Sping Ioc。
优点
只有一个对象,节省资源,提高系统性能。
避免共享资源被重复占用,如程序计数器、资源文件的访问,对线程安全有一定帮助。
允许可变数目的实例,自己new就可以。
缺点
不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。
Spring 核心组件
- 博客分类:
- spring--基础
Spring 核心组件
Spring 框架的总体架构图
Spring 框架中的核心组件只有三个:Core、Context 和 Beans。它们构建起了整个 Spring 的骨骼架构。没有它们就不可能有 AOP、Web 等上层的特性功能。
Spring 的设计 ...
程序员的职业规划
- 博客分类:
- 总结 -- 工作经验
程序员的职业规划
本博文主要用于个人学习和总结使用,如果问题请联系博主,可马上删除。
一位网友的建议
在某一领域,建立自己的知识体系,形成顶端优势。因为只有你形成了知识体系,才会更有价值,才能更好的解决问题。
培养自己的通用能力,比如沟通、演讲、管理、写作、讲授、组织、辅导等。这些通用能力,能让你更好的与人协作,也能让你获得更好更多的做事机会,能够更好的成长。
学会思考,建立思考的习惯。正确的思考,能够让我们少走很多弯路。要多想,想明白再去实现,至少,也要想明白当下要做的这一步再行动。要规划思考时间、要经常琢磨一些根本性的问题,比如你为什么要做软件开发,比 ...
String事务 + 整合ORM框架
http://blog.csdn.net/bao19901210/article/details/41724355
http://www.cnblogs.com/xujian2014/p/5282335.html
http://blog.csdn.net/frankcheng5143/article/details/50634487
Spring + Hibernate 整合
http://www.cnblogs.com/xujian2014/p/5282335.html
http://blog.csdn.net/js931178805/article/details/39642743
http://blog.csdn.net/js931178805/article/details/39643981