自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 GC

回到正题,咱们继续谈垃圾回收,在学习GC之前,你首先应该记住一个单词:“stop-the-world”。Stop-the-world会在任何一种GC算法中发生。Stop-the-world意味着 JVM 因为要执行GC而停止了应用程序的执行。当Stop-the-world发生时,除了GC所需的线程以外,所有线程都处于等待状态,直到GC任务完成。GC优化很多时候就是指减少Stop-the-world...

2018-06-15 17:57:55 219

原创 jvm 知识

Java中并没有一个类似的运算符。事实上,Java也不需要这种运算符。Java中基本类型的大小在语言规范中已经定义了,而C/C++中基本类型大小则跟平台相关。Java有自己的通过序列化构建的IO框架。再者,由于Java中没有指针,因此指针运算和内存块拷贝之类的操作也不存在。但是,Java程序员有时还是希望能知道一个Java对象到底用了多少内存的。不过这个问题的答案并不简单。首先要区分清楚的是sha...

2018-06-15 17:38:55 162

原创 java 序列化

1. Java 序列化Java序列化是指向java对象转化为字节序列的过程 ,反序列化就是将字节系列转化为java对象的过程 静态变量不能被序列化 2.为什么需要序列化实现数据持久化实现远程通信 3.如何实现实例化ObjectOutputStream 和ObjectInputStream (对象输入输出流)中的writeObject(Object obj)和read

2017-04-07 14:15:05 236

原创 线程池 线程锁

Java线程池Executors提供了4中线程池1. newCachedThreadPool :创建一个可缓存线程池 (超过回收,无可回收,新建2. newFixedThreadPool : 创建一个定长线程池 (超过等待)3. NewScheduledThreadPool : 创建一个定时线程池,支持周期性执行任务4. newSingleThreadPool : 创建一个单线

2017-03-31 22:41:47 430

原创 web界面设计(一)

Web界面设计一 指引客户1.令人心动的第一映像发现页面布局 不是你选择页面布局,而是它选择你引导客户的视线 利用对角线原则 使用色彩来吸引用户  重点使用反色或者深色表示凸显个性 可以使用符号来统一设计风格 logo2.导航之道告诉软件应该做什么 设计菜单不应该基于对象,还是基于任务(动宾词)链接生来不平等标签抬起头来看路二 学习1 开

2016-12-01 19:43:36 9816

原创 第7 章 排序

第7 章 排序不能在主存中完成而必须在磁盘或磁带上完成的排序叫做外部排序目标(内部排序)1. 存在几种容易的算法以 O(N2)完成排序2. 有一种算法叫做希尔排序,它编程非常简单,以 O(N2)运行,并在实践中很有效3. 存在一些稍微复杂的0(N log N)的排序算法4. 任何通用的排序算法均需要Ω(N log N)此比较 7.1 预备知识正如1.4 节所

2016-08-05 14:06:55 460

原创 第6章 优先队列

第6章 优先队列6.1 模型优先队列至少运行有以下两种操作的数据结构 insert 以及deleteMin6.2 一些简单的实现1. 我们可以使用一个简单的链表在表头以O(1)执行插入操作,并遍历该链表以删除最小元,这又需要O(N)时间,另一种是让链表保持排序状态,这使得插入代价高昂O(N),而删除花费低廉O(1)2. 另一种是实现是使用二叉查找树 它对这两种操作的平均运行时间

2016-08-01 15:09:11 371

原创 第 5章 散列

第 5章 散列散列表的实现常常叫做散列(hashing),散列是一种用于以常数平均时间执行插入、删除和查找的技术,但是,那些需要元素见任何排序信息的树操作将不会得到有效的支持 5.1 一般想法理想的散列表数据结构只不过时包含一些项的具有固定大小的数组。 5.2 散列函数如果输入的关键字是整数,则一般合理的方法就是直接返回key mod tablesize ,除非

2016-07-28 13:57:31 1753

原创 第4章 树

第4章 树对于大量的输入数据,链表的线性访问时间太慢,本章谈论一种简单的数据结构,其大部分操作的运行时间平均为0(log N)二叉查找树是两种库集合类TreeSet和TreeMap实现的基础4.1 预备知识树可以用几种方式定义,定义树的一种自然方式是递归的方式。一棵树是一些节点的集合,这个集合可以是空集,若不是空集,则树由称作根(root)的节点r以及0个或者多个非空的子树组成

2016-07-25 14:23:25 328

原创 第3章 表 栈 和 队列

第3章 表 栈 和 队列每一种有意义的程序都将显示的至少使用一种这样的数据结构,而栈总是要被间接的使用到3.1 抽象数据类型抽象数据类型(ADT)是带有一组操作的一些对象的集合,抽象数据类型是数学的抽象,在ADT的定义中没有提到关于这组操作时如何实现的任何解释。3.2 表ADT我们将处理形如A0   A1  A2  .... AN-1   的一般的表,我们说这个表的大小为N

2016-07-04 16:17:36 359

原创 第二章 算法分析

第二章 算法分析算法是为求解一个问题需要遵循的,被清楚的指出的简单指令集合本章将讨论1.如何估计一个程序所需要的时间2.如何将一个程序的运行时间从天降到秒甚至更少3.粗心使用递归的后果4.将一个数自乘得到其幕,以及计算两个数的最大公因数的非常有效的算法2.3 要分析的问题通常,要分析的最重要的资源就是运行时间影响程序运行时间的因素有1. 编译器和计算机2

2016-06-28 14:57:00 528

原创 第18章类加载机制和反射

第18章 类加载机制和反射java类加载器处理根类加载器之外,其他都是用java写的18.1 类的加载、连接和初始化系统可能在第一次使用某一个类时加载这个类,也可能采用预加载机制来加载某一个类18.1.1 JVM和类当调用java命令运行某一个java程序时,该命令就会启动一个jvm进程,不管该类有多复杂,该程序启动多少个线程,他们都是处于JVM进程里下面情况j

2016-06-27 13:26:42 379

原创 第17章 网络编程

第17章 网络编程17.1 网络编程的基础知识17.1.1 网络基础知识通信协议负责对传输速率,传输代码,代码结构,传输控制步骤,出错控制等制度处理标准,通信协议通常由三个部分组成1. 语义部分  用于决定双发对话的类型,2. 语法部分  用于决定双方对话的格式3. 变换规则  用于决定通信双方的应答关系 IP (Internet Protocol)协议又称互联

2016-06-25 12:38:21 658

原创 第16 章 多线程

第16 章 多线程16.1.1 线程和进程所有运行中的任务通常对应一个进程(Process)。当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并且具有一定的独立功能。进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下3个特征1.独立性 :进程是系统中独立存在的实体,它拥有独立的资源,每一个进程都拥有自己私有的地址空间,没有经过进程本身运行的情况下

2016-06-23 13:39:32 1530

原创 第15 章 输入/输出

第15 章 输入/输出使用输入机制 允许程序记录运行时读取外部数据,(磁盘,关盘等存储介质),用户输入使用输出允许程序记录运行状态,将程序数据输出到磁盘、关盘等介质java io流使用了一种装饰设计模式,它将IO流分成底层字节流和上层处理流,其中节点流和底层物理存储节点直接关联,程序在将处理流包装成处理流,从而包装程序使用输入输出流来访问不同节点15.1 File 类15.

2016-06-20 19:21:23 468

原创 第14 章 Annotation(注解)

第14 章Annotation(注解)从JDK 5 开始,java增加了对元数据(METAData)的支持,也就是Annotation(其实是代码里的特殊标记),这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过注解程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息Annotation 提供了一种为程序元素设置的元数据的方法。指定指出的是,Annotation

2016-06-03 16:26:44 390

原创 第13章 MySQL 数据库与JDBC编程

第13章 MySQL 数据库与JDBC编程13.1 JDBC基础JDBC 它是一种可以执行SQL语句的java API(可以跨平台 跨数据库) 13.1.2 JDBC驱动数据库驱动程序是JDBC程序数据库之间的转换层,数据库驱动程序负责将JDBC调用映射成特定的数据库调用JDBC 驱动通常有如下4种1. 称为 JDBC-ODBC桥最早实现JDBC的驱动 (java

2016-06-03 12:25:10 827

原创 第12章Swing编程

第12章Swing编程Swing它采用100%java实现 不在依赖本地平台,所有平台都可以保持相同的运行效果,对跨平台支持比较出色  实现了MVC设计模式也称为Model-Delegate(模式-代理)12.1 Swing概况独立于本地平台的Swing(速度慢点)组件被称为轻量级组件,而依赖本地平台的AWT组件被称为重量级组件 12.2 Swing 基本组件的用法12.2

2016-05-30 17:41:40 4071

原创 第11章 AWT编程

第11章 AWT编程AWT全称是抽象窗口工具集  GUI 图形用户界面AWT缺点 1.图形显示丑陋2.AWT组件这能使用这些操作系统共有的组件3.AWT非常笨拙,是非面向对象的编程模式总体上Swing组件代替了大部分AWT组件,对AWT有很好的补充和加强Swing仅提供了能力更强大的用户界面组件,即使是完成采用Swing编写的组件也依然要使用AWT的事件处理机制

2016-05-28 10:12:12 2726

原创 第10章异常处理

第9章 异常处理java异常机制主要是依赖于try catch finally throw throws五个关键字,其中throws关键字主要是在方法签名中使用,用于声明该方法可能抛出异常,throw用于抛出一个实际的异常,throw可以单独作为语句使用,抛出一个具体的异常对象10.1异常概述增加异常处理机制后的程序又更好的容错性,使程序更健壮 10.2异常处理机制10

2016-05-23 19:03:10 410

原创 第9章 泛型

9.1.2 使用泛型java从1.5以后引入了参数类型,允许程序在创建聚合时,指定集合元素的类型,java的参数化类型被称为泛型9.1.3泛型的“菱形”语法java 7 后面菱形中的类型可以省略。 9.2 深入泛型所谓泛型,就是允许定义类。接口、方法时使用类型形参,这个类型形参将在声明变量、创建对象、调用方法时动态的指定当创建带泛型的声明的类时,为该类定义构造器时,构造

2016-05-23 19:02:29 373

原创 第8章java 集合

第8章java 集合java集合大致可以分为 Set  List  Queue  Map四类 其中 Set表示无序,不可重复的集合,List代表有序,重复集合Map表示具有映射关系的集合Queue 代表队列集合实现方式8.1集合概述为了保持数量不确定,以及保存具有映射关系的数据,java提供了集合类数组元素既可以保存基本类型的数据,也可以保存对象 ,但是 集合就只能保存

2016-05-23 19:00:35 402

原创 java基础类库

7.1 与用户互动7.1.2 使用Scanner获取键盘输入Scanner是一个基于正则表达式的文本扫描器,它可以从文件、输入流、字符串中解析出基本类型值和字符串值 Scanner主要提供两个方法来扫描输入1.hasNextXxx()是否还有下一个输入项 有可能会造成方法阻塞2.nextXxx()  获取下一个输入项 Scanner提供了两个简单的方法来逐行读取

2016-05-23 18:59:26 517

原创 第6章面向对象(下)

6.1 java 1.8 增强的包装类java 为什么要引入包装类1. java 是面向对象的编程语言,但它也包含了8中基本数据类型,这8中基本数据类型不支持面向对象的编程机制,基本数据类型的数据也不具备“对象”的特征 :没有成员变量,没有方法可以调用  2.只能进行简单的,有效的常规数据处理,当所有引用都继承了Object类,都可以当Object类使用,基本数据类型就不可以 

2016-05-23 18:58:39 360

原创 第5章面向对象(上)

第5章 面向对象(上)类可以被认为是自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用对象 类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在5.1类和对象java程序使用类的构造器来创建该类的对象 继承是实现类的复用的重要手段 组合也可以实现类的复用 static 的真正作用是用于区分 变量 方法 内部类 初始化块 这四种成

2016-05-23 18:56:57 407

原创 java 基础 第四章流程控制与数组

使用 if else语句时 应该先处理范围小的情况switch 语句后面的控制表达式的数据只能是byte short char int四中整数类型和String类型(从java7才开始 不能是Boolean类型)do while  总会先执行一次再判断条件,while 语句结束应该加一个” ;”  4.2数组引用对象是访问真实对象的根本方式 如果要访问数组对

2016-05-23 18:55:38 415

原创 java基础 第三章 数据类型和运算符

java是一门强类型语言体现在1.所有的变量必须先声明后使用2.指定类型的变量只能接收类型与之匹配,在编译过程中就可以发现错误,从而保证程序的健壮性 标识符 用来给程序中变量 ,类、方法命名的符号,必须以字母下划线$开头关键字都是小写 java 类型  基本类型    boolean                      数值类型     整数类型   

2016-05-23 18:54:43 331

原创 java 第二章 理解面向对象

第二章 理解面向对象2.2 UML(统一建模语言)UML大致可以分为静态图和动态图两种静态图 用例图 类图 包图 组件图 对象图 部署图 复合结构图动态图 顺序图 通信图 状态机图 活动图 定时图最常用的图包括 例图  类图 组件图 部署图 顺序图 活动图 状态机图2.2.1  用例图原理 用例图用于描述系统系统的一系列功能,每一个用例图表示系统的一个功能模块表示法

2016-05-23 18:53:17 334

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除