java SE
文章平均质量分 86
/*chen*/
这个作者很懒,什么都没留下…
展开
-
0、JDK、JRE、JVM区别与联系
目录 1.基本概念 2.区别与联系 1.基本概念 JVM : 全称 Java Virtual Machine,即java虚拟机,是一个用于执行字节码的”虚拟计算机”。由于不同的操作系统有不同的虚拟机,Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。实现了“一次编译,随处运行”。 这也是Java虚拟机实现跨平台的核心机制。 JRE:全称Java Runtime E...原创 2018-11-15 14:50:59 · 181 阅读 · 0 评论 -
5.4Collections工具类、Arrays工具类、集合遍历方法总结以及集合嵌套
Collections工具类 集合的工具类,区别于Collection是集合的根接口。 常用方法 sort(List<T> list) //排序 sort(List<T> list, Comparator<? super T> c) //比较器排序 max(Collection coll) //最大值 max(Collection coll,Co...原创 2018-11-27 17:45:48 · 345 阅读 · 0 评论 -
5.3Map接口、HashMap、TreeMap
Map |--HashMap 底层是哈希表 可以使用null键和null值 线程不同步 效率高 保证元素的唯一性:元素的hashCode方法(先)和equals方法(后) |--TreeMap 底层是红黑树结构 线程不同步 可以给Map集合中的键进行排序 保证元素唯一性:compareTo方法return0 ...原创 2018-11-25 21:57:45 · 130 阅读 · 0 评论 -
16.java字节码操作(JAVAssist)
什么是java字节码操作 Java动态性的两种常见实现方式 字节码操作 反射 运行时操作字节码可以让我们实现如下功能: 在JVM中动态生成新的类 在JVM中动态改变某个类的结构(添加/删除/修改新的属性/方法) 优势: 比反射开销小,性能高 JAVAasist性能高于反射,低于ASM JAVA中如何操作字节码 常见的字节码操作类库 BCEL 这是Apache...原创 2019-03-28 16:34:30 · 283 阅读 · 0 评论 -
Java服务端单元测试指南(JUnit和TestNG)
Java服务端单元测试指南 作者:墨源,阿里巴巴技术专家 一. 前言 单元测试并不只是为了验证你当前所写的代码是否存在问题,更为重要的是它可以很大程度的保障日后因业务变更、修复Bug或重构等引起的代码变更而导致(或新增)的风险。 同时将单元测试提前到编写正式代码进行(测试驱动开发),可以很好的提高对代码结...转载 2019-03-30 10:55:08 · 1562 阅读 · 0 评论 -
13.java反射机制
反射(reflection) 可以在运行时加载、探知、使用编译期间完全未知的类 程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个已加载的类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;Class c = Class.forName("com.company.User"); 加载完类后,在堆内存中就产生了一个Class类型对象(一个类只有一个C...原创 2019-03-27 15:09:18 · 108 阅读 · 0 评论 -
14.java动态编译
java动态编译 动态编译应用场景: 服务器动态加载某些类文件进行编译 浏览器端编写java代码,上传服务器编译和运行的在线系统 动态编译的两种做法: JDK6之前:通过Runtime调用javac,启动新的进程去操作 Runtime run = Runtime.getRuntime(); Process process = run exec("javac -cp d:/my...原创 2019-03-27 15:11:33 · 156 阅读 · 0 评论 -
15.java脚本引擎
java脚本引擎 脚本引擎 使java应用程序通过一套固定的接口与各种脚本引擎交互,从而达到在java平台上调用各种脚本语言(js,python等)的目的 java脚本API是连通java平台和脚本语言的桥梁 可以把一些复杂异变的业务逻辑交给脚本语言处理,大大提高了开发效率 java脚本API为开发者提供了如下功能 1.获取脚本程序输入,通过脚本引擎运行脚本并返回结果,这是最核心的接口 ...原创 2019-03-27 15:12:44 · 533 阅读 · 0 评论 -
10.JDBC操作Mysql数据库
MySQL和Navicat安装和使用就不再介绍了 0.概念 JDBC(Java DataBase Connectivity,java数据库连接)为java开发者使用数据库提供了统一的编程接口。由一组java类和接口组成,是java程序与数据库系统通信的标准API。JDBC API使得开发人员可以使用纯java的方式连接使用数据库。 sun公司提供一套API,数据库厂商自己实现JDBC这套接口...原创 2018-12-14 13:28:12 · 213 阅读 · 0 评论 -
9.java正则表达式
1.基础规则 1.1普通字符和简单转义字符 普通字符 字母、数字、汉字、下划线、以及没有特殊定义的标点符号,都是普通字符。 表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符简单的转义字符 \n 换行符 \t 制表符 \\ \本身 \^ \$ \. \( \) \{...原创 2018-12-11 12:36:17 · 449 阅读 · 0 评论 -
12.java注解(Annotation)
注解(Annotation) 作用: 1.不是程序本身,可以对程序作出解释(这一点,跟注释没什么区别) 2.可以被其他程序(如编译器等)读取。(注解信息处理流程,是注解与注释的重大区别。如果没有注解信息处理流程,则注解毫无意义) 格式: @注释名 还可以添加一些参数值,例如@SuppressWarnings(value="unchecked") 使用场景: ...原创 2019-01-02 20:08:44 · 350 阅读 · 0 评论 -
1.java 基本数据类型、运算符、控制语句、方法和递归
1.基本数据类型 Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。 Java中定义了3类8种基本数据类型 (1)整形(byte、short、int、long) 整型用于表示没有小数部分的数值,它允许是负数。 ...原创 2018-11-15 17:09:50 · 293 阅读 · 0 评论 -
2.java面向对象
0.类和对象 类(class)是对对象的抽象,对象是类的实例。可以理解为类是模板,对象是根据模板产生的具体实例。 Demo: public class Demo { public static void main(String[] args) { //调用不同的构造方法创建对象 Student stu1 = new Student("jack"); Student st...原创 2018-11-20 13:54:59 · 166 阅读 · 0 评论 -
11.XML技术
XML概念和格式 英文(eXtendible Markup Language),是一种可扩展标记语言,没有固定的标签,所有标签都可以自定义,通常用于信息的记录和传递,经常用作配置文件。 格式良好的XML文档 遵循XML文档的基本规则 必须要有XML声明语句 必须有且仅有一个根元素 标签大小写敏感 属性值用双引号 标签成对 元素正确嵌套 <?xml version="1...原创 2018-12-14 15:27:05 · 128 阅读 · 0 评论 -
5.2List接口、ArrayList、LinkedList和Set接口、HashSet、TreeSet
1.List接口 Collection |--List 元素有序,可重复(因为有索引) |--ArrayList 底层数据结构是数组,特点查询效率高,增删效率低,线程不同步 |--LinkedList 底层数据结构是双向链表,特点增删效率高,查询效率低 线程不同步 |--Vector 底层数据结构是数组,基本被ArrayList替代了 线...原创 2018-11-25 20:43:40 · 202 阅读 · 0 评论 -
3.java常用类
0.数组 0.1概念、声明创建初始化索引 数组是相同类型数据的有序集合。相同类型可以是基本数据类型也可以是引用数据类型。 Demo: public class Demo { public static void main(String[] args) { int[] a = {1,2,3,4,5}; //静态初始化 String[] str = new String...原创 2018-11-20 21:13:50 · 147 阅读 · 0 评论 -
4.java异常机制
1.概述: 异常处理:java中的异常处理是基于面向对象的一种运行态错误处理机制,通过对异常信息的封装实现对用户非法操作、参数设置异常、硬件系统异常,运行时网络状态更换等在运行态中可能出现的异常信息的处理机制。 Throwable Throwable类是java中所有错误或异常的顶级父类,所有的异常都继承于这个类。 Error,Exception是Throwable类的两个直接子类。 ...原创 2018-11-21 18:45:04 · 165 阅读 · 0 评论 -
5.1java集合框架和泛型概述
先mark一下大佬的http://www.cnblogs.com/skywang12345/p/3323085.html 1.java集合(容器)概述 集合体系 java中集合用来存储多个对象,长度可变,并且可以存储不同类型对象。 Collection |--List 元素有序,可重复(因为有索引) |--ArrayList 底层数据结构是数组,特点查询...原创 2018-11-25 20:40:41 · 164 阅读 · 0 评论 -
6.java多线程
基本概念: 进程和线程 进程:进程是一个运行中的程序,是资源分配与调度的最小单位。进程有三大特性: 独立性:独立的资源,私有的地址空间,进程间互不影响。 动态性:进程具有生命周期。 并发性:多进程可以在单核CPU上并发运行。 线程:是进程中的一个顺序执行流,是系统中程序执行的最小单元,多线程就是一个进程中的多个顺序执行流。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源。 ...原创 2018-12-04 19:37:34 · 164 阅读 · 0 评论 -
7.java IO流
概述 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流分类 按流的方向分类: 输入流:数据流向是数据源到程序(以InputStream、Reader结尾的流) 输出流:数据流向是程序到目的地(以OutPutStream、W...原创 2018-12-07 15:36:34 · 121 阅读 · 0 评论 -
8.java网络编程
概念 IP 网络中设备的标识 本地回环地址127.0.0.1 IPV4:32位地址,并以8位为一个单位,分成四部分,以点分十进制表示, 如192.168.0.1。因为8位二进制的计数范围是00000000---11111111对应十进制的0-255 IPV6:128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示, 每个数之间...原创 2018-12-11 12:35:27 · 142 阅读 · 0 评论 -
17.java动态编程总结(反射、动态编译、脚本引擎、字节码操作)
概述 什么是动态编程?动态编程解决什么问题?Java中如何使用?什么原理?如何改进?(需要我们一起探索,由于自己也是比较菜,一般深入不到这个程度)。 什么是动态编程 动态编程是相对于静态编程而言的,平时我们讨论比较多的就是静态编程语言,例如Java,与动态编程语言,例如JavaScript。那二者有什么明显的区别呢?简单的说就是在静态编程中,类型检查是在编译时完成的,而动态编程中类型检查是在...原创 2019-03-28 16:34:39 · 573 阅读 · 0 评论