JAVA基础
文章平均质量分 85
Carmen_W
这个作者很懒,什么都没留下…
展开
-
JVM核心机制_类加载全过程_深入类加载器_线程上下文类加载器
JVM核心机制_类加载全过程_JVM内存分析_反射机制核心原理_常量池理解JVM核心机制_类加载全过程_初始化时机_类的主动引用和被动引用_静态初始化块执行顺序问题JVM核心机制_深入类加载器_层次结构(三种类加载器)_代理加载模式_双亲委派机制JVM核心机制_深入类加载器_自定义文件系统类加载器_网络自定义类加载器JVM核心机制_深入类加载器_自定加密解密类加载器JVM核心机制_线...原创 2019-01-18 23:07:08 · 189 阅读 · 0 评论 -
java300集-iterator
通过迭代器遍历list和setpackage cn.bjsxt.iterator;import java.util.ArrayList;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;public class Test01 { pub...原创 2018-12-11 14:42:56 · 155 阅读 · 0 评论 -
java300集-容器-数据存储综合练习
下面实现下图中的表格:package cn.bjsxt.collection2;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Employee { //Javabea...原创 2018-12-11 11:45:28 · 255 阅读 · 1 评论 -
java300集-set-HashSet
• Set 接口存储一组唯一, 无序的对象Set常用方法• Set相对Collection没有增加任何方法• Set的遍历方法• for-each• Iterator迭代器• 无法使用for进行遍历(因为无序, 所以没有get(i))• HashSet、 HashMap或Hashtable中对象唯一性判断• 重写其hashCode()和equals()方法• TreeSet中指明...原创 2018-12-11 11:35:09 · 201 阅读 · 0 评论 -
java300集-Map-hashmap-equals和hashcode
Map• Map是接口,存储一组键值对象, 提供key到value的映射• Key 唯一 无序• value 不唯一 无序package cn.bjsxt.collection;import java.util.HashMap;import java.util.Map;/** * 测试Map的基本用法 * @author Administrator * */publi...原创 2018-12-11 10:37:27 · 244 阅读 · 0 评论 -
java300集——List-Arraylist-Linkedlist(双向链表)
List List list = new ArrayList(); //父类引用指向子类对象 ArrayList list = new ArrayList();ArrayList使用package cn.bjsxt.collection;/** * 自己实现一个ArrayList,帮助我们更好的理解ArrayList类的底层结构! * */public class Sxt...原创 2018-12-10 22:47:25 · 417 阅读 · 0 评论 -
IO_总结
路径常量_绝对与相对路径_文件名_判断_长度_创建_删除_文件夹操作_命令模式查找字节流字符流_处理流_缓冲流_转换流节点流_基本数据类型处理流_对象处理流_打印流装饰设计模式_文件分割与合并一、步骤: 创建源 选择流 操作(读取|写出) 释放二、流三、重点四、操作0、打印文件|目录1、文件拷贝2、关闭流方法3、文件分割与合并...原创 2018-12-15 22:01:02 · 143 阅读 · 0 评论 -
IO_装饰设计模式_文件分割与合并
装饰设计模式package com.bjsxt.io.pattern;public class Voice { private int voice =10; public Voice() { // TODO Auto-generated constructor stub } public int getVoice() { return voice; } public vo...原创 2018-12-15 21:47:19 · 144 阅读 · 0 评论 -
java300集——集合(容器)概述
集合的引入集合的使用场合-Where• 新闻列表• 就业喜报• 就业明星• 邮件列表• 购物车当我们需要将一些相同结构的个体整合在一起时, 就可以考虑使用集合了 。为什么使用集合而不是数组—Why• 集合和数组相似点• 都可以存储多个对象, 对外作为一个整体存在• 数组的缺点:• 长度必须在初始化时指定, 且固定不变• 数组采用连续存储空间, 删除和添加效率低...原创 2018-12-11 11:46:36 · 642 阅读 · 0 评论 -
java300集-泛型
泛型类package com.bjsxt.gen02;/** * 泛型类:声明时使用泛型 * 字母: * T Type 表示类型。 K V 分别代表键值中的Key Value。 E 代表Element。 使用时确定类型 注意: 1、泛型只能使用引用类型,不能基本类型 2、泛型声明时字母不能使用在静态属性或静态方法上 * @author Administr...原创 2018-12-11 20:52:26 · 243 阅读 · 0 评论 -
多线程的创建
一、继承Thread + run()启动: 创建子类对象 +对象.start()package com.bjsxt.thread.create;/** * 模拟龟兔赛跑 1、创建多线程 继承 Thread +重写run(线程体) 2、使用线程: 创建子类对象 + 对象.start() 线程启动 * * @author Administrator * */...原创 2018-12-25 09:59:00 · 165 阅读 · 0 评论 -
字节码操作_ javaassist库
原创 2019-01-18 20:27:32 · 364 阅读 · 1 评论 -
动态编译_脚本引擎执行javascript代码_Rhino引擎
cp:classpath脚本引擎执行javascript代码_Rhino引擎package com.bjsxt.test;import java.lang.reflect.Method;import java.net.URL;import java.net.URLClassLoader;import javax.tools.JavaCompiler;import jav...原创 2019-01-18 17:53:54 · 714 阅读 · 0 评论 -
反射_reflection
Class c = Class.forName("com.bjsxt.test.User");//动态的加载了com.bjsxt.test.User这个类类型参数:T - 由此 Class 对象建模的类的类型。例如, String.class 的类型是 Class。如果将被建模的类未知,则使用 Class<?>。Class 类的实例表示正在运行的 Java 应用程序中的...原创 2019-01-18 16:56:40 · 136 阅读 · 0 评论 -
注解_Annotation
注解_Annotation_内置注解用 @Deprecated 注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告。表示一个方法声明打算重写超类中的另一个方法声明。如果方法利用此注释类型进行注解但没有重写超类方法,则编译器会生成一条错误消息。指示应该在注释元素(以及包含在该注释元素...原创 2019-01-17 22:58:44 · 130 阅读 · 0 评论 -
网络编程_InetAddress_InetSocketAddress_URL_爬虫原理_UDP编程_TCP_Socket通信
基本概念一、网络:将不同区域的计算机连接到一起 局域网 城域网 互联网二、地址:IP地址 确定网络上 一个绝对地址 |位置 —&amp;amp;gt;房子的地址三、端口号: 区分计算机软件的 --&amp;amp;gt;房子的房门 2个字节 0-65535 共65536个1、在同一个协议下 端口号不能重复 不同协议下可以重复2、1024以下的不要使用 80–&amp;amp;gt;http 21 --&原创 2018-12-25 23:10:15 · 897 阅读 · 0 评论 -
线程同步与锁定_synchronized_单例模式_doubleChecking_生产者消费者模式_信号灯法_管程法_任务调度_多线程总结
同步:并发 多个线程访问同一份资源 确保资源安全 --&gt;线程安全synchronized --&gt;同步一、同步块synchronized(引用类型|this|类.class){}二、同步方法synchronizedpackage com.bjsxt.thread.syn;public class SynDemo01 { /** * @param args...原创 2018-12-25 17:30:25 · 359 阅读 · 0 评论 -
多线程基本信息_优先级
package com.bjsxt.thread.info;public class MyThread implements Runnable { private boolean flag =true; private int num =0; @Override public void run() { while(flag){ System.out.println(Thre...原创 2018-12-25 15:54:12 · 146 阅读 · 0 评论 -
多线程的状态
1、新生状态2、就绪状态3、运行状态4、就绪状态5、死亡状态二、停止线程1、自然终止:线程体正常执行完毕2、外部干涉:1)、线程类中 定义 线程体使用的标识2)、线程体使用该标识3)、提供对外的方法改变该标识4)、外部根据条件调用该方法即可package com.bjsxt.thread.status;public class StopDemo01 { /** ...原创 2018-12-25 10:32:28 · 161 阅读 · 0 评论 -
网络编程_TCP_Socket通信_聊天室
初级版本一:1.聊天室原理package com.bjsxt.net.tcp.chat.demo01;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket...原创 2018-12-26 15:22:02 · 168 阅读 · 0 评论 -
IO_节点流_基本数据类型处理流_对象处理流_打印流
一、节点流1、字节数组 字节 节点流输入流:ByteArrayInputStream read(byte[] b, int off, int len) + close()(可以不用关闭)输出流:ByteArrayOutputStream write(byte[] b, int off, int len) +toByteArray() 不要使用多态package co...原创 2018-12-14 23:06:56 · 216 阅读 · 0 评论 -
IO_字符流_处理流_缓冲流_转换流
字符流:只能处理 纯文本,全部为可见字符 .txt .html节点流 Reader FileReaderWriter FileWriter一、纯文本读取1、建立联系2、选择流 Reader FileReader3、读取 char[] flush =new char[1024];4、关闭package com.bjsxt.io.charIO;import java.io.Fi...原创 2018-12-14 18:47:05 · 159 阅读 · 0 评论 -
java300集-Comparable接口-引用类型的比较(内置类比较)
内置引用数据类型(常用)的比较package com.bjsxt.sort.innerType;/** * 内置引用数据类型(常用)的比较 * @author Administrator * */public class Demo01 { /** * @param args */ public static void main(String[] args) { In...原创 2018-12-12 14:16:01 · 152 阅读 · 1 评论 -
java300集——数组
创建数组数组是相同类型数据的有序集合.• 相同类型的若干个数据,按照一定先后次序排列组合而成。• 其中,每一个数据称作一个数组元素。• 每个数组元素可以通过一个下标来访问它们。数组特点:• 其长度是确定的。 数组一旦被创建, 它的大小就是不可以改变的。• 其元素必须是相同类型,不允许出现混合类型。• 数组中的元素可以是任何数据类型, 包括基本类型和引用类型。数组属引用...原创 2018-12-07 20:16:52 · 178 阅读 · 0 评论 -
JAVA300集——抽象类-接口-内部类-垃圾回收机制
抽象类• 为什么需要抽象类? 如何定义抽象类?• 是一种模版模式。 抽象类为所有子类提供了一个通用模版, 子类可以在这个模版基础上进行扩展。• 通过抽象类,可以避免子类设计的随意性。 通过抽象类, 我们就可以做到严格限制子类的设计,使子类之间更加通用。• 要点:• 抽象方法和抽象类均必须用abstract来修饰。• 抽象方法没有方法体, 只需要声明不需实现。• 有抽象方法的类只能定...原创 2018-12-03 21:21:21 · 150 阅读 · 0 评论 -
JAVA300集——面向对象编程-封装-继承-多态
本章技能点列表面向对象的三大特征1. 继承 inheritance• 子类 父类• 子类可以从父类继承属性和方法• 子类可以提供自己单独的属性和方法2. 封装/隐藏encapsulation• 对外隐藏某些属性和方法• 对外公开某些属性和方法3. 多态 polymorphism• 为了适应需求的多种变化, 使代码变得更加通用!• 面向过程只有封装性(功能的封装, 而没有数...原创 2018-12-02 20:56:28 · 225 阅读 · 0 评论 -
JAVA300集——面向对象编程-类和对象-构造方法及其重载-方法调用
本章概述“如何开车”:(由多个步骤组成),简单问题,可以使用面向过程。“如何造车”:(成千上万个零件,细节很多),复杂问题,宏观上用面向对象把握,微观操作用面向过程(方法、函数等)...原创 2018-11-26 23:08:47 · 288 阅读 · 0 评论 -
java300集——switch多值选择结构和方法重载
Math类的使用:int i = (int) (6 * Math.random());//产生: [0,5]//如何产生: 10-15随机数?double area = Math.PI * Math.pow(r, 2);//计算面积switch多值选择结构char c = ‘a’;int rand =(int) (26*Math.random());char c2 = (char...原创 2018-11-25 23:18:10 · 207 阅读 · 0 评论 -
JAVA300集——数据类型和运算符
数据类型和运算符标识符Identifier• 作用:常量、变量、方法、类和包等的名称• 命名规则:必须以字母、_下划线、美元符 $ 开头。• 其它部分可以是字母、下划线“ _”、美元符“$”和数字的任意组合• 大小写敏感,长度无限制。• 不可以是Java的关键字。• Java不采用通常语言使用的ASCII字符集• Java采用unicode这样的标准的国际字符集。因此,这里的字母...原创 2018-11-06 19:47:18 · 198 阅读 · 0 评论 -
JAVA300集——初识Java
初识Java1. Java三大版本J2SE Java的标准版本 (Java2 Standard Edition) :定位在客户端,主要用于桌面应用软件的编程。J2ME (Java2 Micro Edition):主要应用于嵌入式系统开发,如手机和PDA的编程 。J2EE 企业版本(Java2 Enterprise Edition):定义在服务器端Java2的企业版,主要用于分布式网...原创 2018-11-05 20:54:20 · 231 阅读 · 0 评论 -
Collections.sort方法对list排序的两种方式:Comparable接口和Comparator接口
参考了原文:https://blog.csdn.net/qq_23179075/article/details/78753136以及:https://www.cnblogs.com/Kevin-mao/p/5912775.htmlJava中实现对象的比较:Comparable接口和Comparator接口在实际应用中,我们往往有需要比较两个自定义对象大小的地方。而这些自定义对象的比较,就不像...转载 2018-12-12 19:54:01 · 848 阅读 · 0 评论 -
IO_原理_分类_字节流
一、概念流:流动 、流向, 从一端移动到另一端源头与目的地程序 与 文件|数组|网络连接|数据库 ,以程序为中心二、IO流分类按流向: 输入流与输出流按数据:字节流:二进制,可以一切文件 包括 纯文本 doc 音频、视频等等字符流:文本文件,只能处理纯文本按功能:节点:包裹源头处理:增强功能,提供性能三、字符流与字节流 (重点) 与文件1、字节流 输入流:In...原创 2018-12-13 23:16:04 · 318 阅读 · 1 评论 -
IO_File_路径常量_绝对与相对路径_文件名_判断_长度_创建_删除_文件夹操作_命令模式查找
File类• 文件和目录路径名的抽象表示形式。 一个File对象可以代表一个文件或目录• 可以实现获取文件和目录属性等功能• 可以实现对文件和目录的创建、 删除等功能• File不能访问文件内容File file = new File(&quot;d:\\test\\java.txt&quot;);File file = new File(&quot;d:/test/java.txt&quot;);File file原创 2018-12-13 20:30:39 · 202 阅读 · 0 评论 -
Hashtable-Properties-WeakHashMap-IdentityHashMap与EnumMap-容器的同步控制与只读设置
一、Hashtable 与HashMap的区别 (面试题)主要:Hashtable线程安全,同步,效率相对低下HashMap 线程不安全,非同步,效率相对高父类:Hashtable 是 DictionaryHashMap 是 AbstractMapnull:Hashtable键与值不能为nullHashMap 键最多一个null,值可以多个null publ...原创 2018-12-13 16:17:30 · 200 阅读 · 0 评论 -
Collections工具类-Queue接口-自定义堆栈(Deque接口)-Enumerration接口-Vector类
Collections工具类的使用:package com.bjsxt.sort.util;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** *1、 binarySearch(List<? extends Comparable<? super T>...原创 2018-12-12 23:00:12 · 198 阅读 · 0 评论 -
排序容器——TreeSet-TreeMap
不需要使用collections.sort()来进行排序,一边add(),一边排序排序业务类java.util.Comparator +compare java.util.Comparator +comparenew TreeSet(Comparator<? super E> comparator)package com.bjsxt.sort.col;import j...原创 2018-12-12 21:39:24 · 129 阅读 · 0 评论 -
java300集——异常机制
异常引入面对异常该怎么办呢?• 生活中, 我们会根据不同的异常进行相应的处理, 而不会就此中断我们的生活程序中的异常示例1: 给出除数和被除数, 求商• 如果除数为0, 出异常• 如果除数或者被除数不是数字, 出异常示例2: 将d:/a.txt复制到e:/a.txt• 如果d:/a.txt不存在• 如果e:/存在a.txt• 如果e盘空间不足• 如果复制过程中出错...原创 2018-12-08 23:00:26 · 479 阅读 · 0 评论 -
Java300集——包装类-String-StringBuffer-StringBuilder-Date时间类-DateFormat-SimpleDateFormat-File类
基本数据类型的包装类• 为什么需要 包装类(Wrapper Class) ?• JAVA并不是纯面向对象的语言。 Java语言是一个面向对象的语言, 但是Java中的基本数据类型却是不面向对象的。 但是我们在实际使用中经常需要将基本数据转化成对象, 便于操作。 比如:集合的操作中。 这时, 我们就需要将基本类型数据转化成对象!• 包装类均位于java.lang包, 包装类和基本数据类型的对应...原创 2018-12-08 19:22:07 · 245 阅读 · 0 评论