![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
嘹咋咧
正确的时间做正确的事情。
展开
-
ArrayList实现原理
ArrayLIst实现原理 一:ArrayLIst原理: ArraList的特点:a)可以存放任意的类型的数据 2)长度可以动态变化。 解决这两种特定的策略是:1)使用泛型,解决存放任意类型的问题。2)底层使用数组,当插入数据超过数组的范围的时候,在新建一个两倍长度加一长度的新数组。在把旧数据复制到数组里即可。 例如:当前集合的容量是3,当插入原创 2015-10-11 10:22:02 · 752 阅读 · 0 评论 -
java从小白到架构师大牛必看书籍
一、基础类1、《Thinking in Java》,入门第一位是建立正确的概念。2、《Core Java》,我没系统读过,这本书更贴近实践,更多API的介绍,同样,更新也更频繁。 二、进阶类1、《Effective Java》,在熟悉语法、API之后,你需要知道最佳实践和陷阱,没有比这本更好的。2、《Java Puzzlers》,通过谜题介绍一些你可转载 2017-01-03 20:00:19 · 21934 阅读 · 1 评论 -
java 五种创建对象的方法
一: 背景 作为java开发,创建对象是最基本最常用的方法。我整理一下五中常用的创建对象的常用方法,如有不全,欢迎大家补全。 二: 五中常见的创建对象的方法 2.1)使用new关键字 2.2)使用clone方法注意使用这个方法的话要给实体类加上Cloneable接口 2.3)使用序列化和反序列化 注意使用这个方法的话要给实体类加上Serializable接原创 2016-11-29 09:41:07 · 645 阅读 · 0 评论 -
java 集合框架简介
java的集合框架包括存放对象的Collection及存放键值对的Map两大模块,下面就一一介绍下java集合的整齐框架。 一:List集合分支 1.1 Collection分支的分支图: 1.2 上图主要类或者几口的介绍a) Iterable: 主要提供一个返回一个Iterator对象方法b)Collection: 集合的原创 2016-10-06 16:00:23 · 572 阅读 · 0 评论 -
面向对象设计原则
一:面向对象设计的目标 软件是一项复杂多变的工程,需求可能会变、试用场景会变,如何设计出一个好的框架是非常重要和必要的。通常试用可扩展性、灵活性、可插入性等三个维度评估设计的好坏。 a)可扩展性:新的功能模块很容易插入到系统中,而较小的改变或者影响旧系统。 b)灵活性:可以运行代码平稳修改,而不涉及到其它模块。 c)可插入性:很容易将一个类或者模块抽离出去,同原创 2016-10-06 11:04:20 · 368 阅读 · 0 评论 -
StringBuild及StringBuffer
1.介绍 1.1 String是一个固定的字符对象一旦初始化完就不可改变。而StringBuild和StringBuffer是java里处理可变的字符串。StringBuild不是现场安全的,StringBuffer是现场安全的。 1.2 主要方法,主要有四类,尾部追加append(),插入insert(),删除delete0及分割字串substring()等、1.3实现原理原创 2016-10-04 15:30:15 · 629 阅读 · 0 评论 -
java位元算
1.位介绍 1.1)位运算优势: 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。所以运行效率更高更快。 1.2)常见的位运算运算符号含义 运行原理&按位与两个与位数原创 2016-10-03 14:01:04 · 618 阅读 · 0 评论 -
String介绍
String字符串1.介绍 1.1String就是一个字符串序列的对象,它是一个final类,没有子类。底层采用char[]数组来存储内容。使用count表示长度。它是一个固定的对象值,一旦初始化后,大小和长度就不能改变了。 1.2主要方法有一下几种类型:构造方法、比较方法、获取对应位置上的值、追加内容的方法、拆分方法、替换方法、替换方法 a)构造方法a1) 空字符串原创 2016-10-03 19:39:04 · 859 阅读 · 0 评论 -
Java 8系列之重新认识HashMap
摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口j转载 2016-09-16 08:27:50 · 353 阅读 · 0 评论 -
线程使用举例
一:创建线程 使用两种不同的方法创建线程,每个线程打印从0到4的日志信息。为了更好的看到打印信息的顺序,在每个打印里会休眠不同的时间。 1.1 PrintThread 继承于Thread类实现打印线程 public class PrintThread extends Thread{@Overridepublic void run() {for (原创 2016-09-12 15:13:04 · 635 阅读 · 0 评论 -
Java线程的几种状态
1. 程序通过Thread t = new Thread(),调用t.start()启动一个线程,使该线程进入可运行(Runnable)的状态。2. 由JVM的决定去调度(Scheduler) 在可运行状态(Runnable)下的线程,使该线程处于运行 (Running) 状态,由于JVM的调度会出现不可控性,即不是优先级高的先被调用,可能先调用,也可能后调用的的情况。转载 2016-09-12 13:47:00 · 3097 阅读 · 0 评论 -
final关键字解析
1. 修饰变量final修饰的变量称为常量。常量只能初始化一次,不能修改。主要用于定义常量。例如类里边声明一些类不同的类状态。注意:a) 空缺的final变量指的是声明了final变量但是没有初始化过b) 空缺的fianl变量只能初始化一次,最好在构造函数里初始化。2. 修饰方法final修饰的方法称为常量方法,常量方法不能被继承和重原创 2016-09-08 15:15:05 · 344 阅读 · 0 评论 -
static介绍
1. 修饰字段stati修饰的变量称为静态变量。该变量相当于全局变量,系统内的各个类都可以访问该变量。静态变量的内存只分配一次,就是当JVM把类被加载到内存的时候,系统在静态区为它分配内存空间。简单的讲就是静态变量相当于只有一份,其它对象公用这一份数据。 注意:a) 静态变量可以直接通过类访问,不用创建对象。b) 静态变量只在初始化的时候执行一次。原创 2016-09-08 14:23:46 · 591 阅读 · 0 评论 -
javaweb 三大组件之Severlet
Servlet介绍Javaweb三大组件 Servlet、Filter、Listener.今天我们就来了解下Servlet。一:Servlet的作用: 接受请求参数、处理请求,响应结果二:Servlet的生命周期 void init(ServletConfig):初始化调用一次 void service(ServletRequest request, Servlet原创 2015-10-11 08:27:36 · 8717 阅读 · 0 评论 -
Java多线程交替执行任务
一:问题描述 生活中很多事情都是有顺序的交互进行着,比如100个人去做地铁,安检的只负责安;只有安检通过了,才能排队刷卡进站;进站了,在对应线路站下排队才能进站。这就是一个典型的多任务有顺序的进行。对于每一个人来说都有顺序要经过这几步。 我们可以通过程序简单的抽象成,使用三个线程,每个线程分别只打印A、B、C. 依次打印出十组ABC.二:实现思路:原创 2016-09-13 14:22:14 · 3677 阅读 · 0 评论