![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 52
LiterMa
这个作者很懒,什么都没留下…
展开
-
java之xml解析
目录xml概述xml语法xml解析技术介绍Dom4j库的使用演示xml概述是什么?xml是可扩展的标记性语言作用?1、用来保存数据,而且这些数据具有自我描述性2、它还可以作为项目或者模块的配置文件3、还可以作为网络传输数据的格式(用的不多了,现在以json为主)例如xml语法1、文档声明2、元素(标签)3、xml属性4、xml注释5、文本区域(CDATA区)例子:创建xml文件:file.xml&l.原创 2021-01-13 00:26:02 · 332 阅读 · 0 评论 -
java之JDBC事务管理和数据库连接池
JDBC事务管理概述:1、事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败。2、操作:1、开启事务2、提交事务3、回滚事务3、使用Connection对象来管理事务开启事务:setAutocommit(boolean autoCommit):调用该方法设置参数为false,即开启事务在执行sql之前开启事务提交事务:commit()当所有sql都执行完提交事务回滚事务:rollback()在catch..原创 2021-01-10 11:59:14 · 350 阅读 · 0 评论 -
java之jdbc(mysql数据库)1
目录jdbc概述快速入门连接数据库具体过程练习ResultSet详解查询练习简化代码JDBC工具类数据库连接池:未更新jdbc概述数据的持久化:将数据保存在可掉电存储设备中。方式:文件、数据库、其他JDBC是一个独立于特定数据库管理系统,通过SQL数据区存取和操作的接口(一组api),定义了用来访问数据库标准java类库,(java.sql,javax.sql)使用这些类库可以以标准的方法、方便地访问数据库资源。无jdbc时使用...原创 2021-01-09 13:52:47 · 122 阅读 · 0 评论 -
java之Swing图形界面(代码较多,功能说明在注释里)
目录Swing简介和使用JDialog弹窗Icon、ImageIcon标签面板JPanel滚动面板JScrollPanel图片按钮单选框,多选框单选框多选框下拉框、列表框列表框列表框文本框、密码框、文本域文本框密码框文本域Swing简介和使用Swing是AWT的封装功能更加全面窗口、面板public class JFrameDemo { //init();初始化 public v...原创 2021-01-09 13:31:57 · 319 阅读 · 0 评论 -
java之AWT图形界面2
目录事件监听输入框监听事件练习设计简易计算器画笔鼠标监听窗口监听键盘监听事件监听当某个事情发生的时候,干什么?public class TestActionEvent { public static void main(String[] args) { //按下按钮,触发一些事件 Frame frame = new Frame(); Button button = new Button(...原创 2021-01-09 12:32:47 · 137 阅读 · 0 评论 -
java之AWT图形界面1
目录GUI编程AWT介绍Frame窗口面板Panel布局管理器布局练习小结GUI编程一些大概的组件:1、窗口2、弹窗3、面板4、文本框5、列表框6、图片7、监听事件8、鼠标事件9、键盘事件GUI核心技术Swing AWTAWT介绍AWT介绍:AWT是Swing的前身是一个窗口工具包含了很多类和接口元素:窗口、按钮、文本框一些类的结构Frame窗口public static ...原创 2021-01-09 12:25:58 · 170 阅读 · 0 评论 -
java之注解2注解详解
目录注解概念以及抽取文档JDK中预定的一些注解自定义注解元注解在程序中使用(解析)注解案例检查bug的框架小结:注解概念以及抽取文档概念:说明程序的,给计算机看的1.5之后出现的新特性作用:1、编译检查例如:@Override @FunctionalInterface2、编写文档:通过代码里标识的注解生成文档(生成javadoc文档)jdk文档就是从代码中的文档注解抽取生成的idea可以这里面设置注释模板注...原创 2021-01-09 12:16:21 · 152 阅读 · 0 评论 -
java之注解1单元测试的使用(使用idea中自带的jar包,当然也可以使用maven导入)
目录Junit单元测试断言AssertJunit单元测试测试分类:1、黑盒测试:不需要写代码,给input看output2、白盒测试:需要写代码,关注程序具体的执行流程Junit的使用(白盒测试)步骤:1、定义一个测试类(测试用例)建议:测试类名:被测试的类名Test 包名:XXX.xxx.xx.test2、定义测试方法:可以独立运行建议:方法名:test测试的方法名 testAdd()返回值:void参数列表空参3、给...原创 2021-01-09 12:10:22 · 642 阅读 · 1 评论 -
java之反射
目录概述获取Class对象的方式Class功能方法获取成员变量获取构造方法获取成员方法使用反射的案例概述反射:框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码概念:将类的各个组成部分封装为其他对象,这就是反射机制java代码的三个阶段反射的好处:1、可以在程序的运行过程中,操作这些对象例如:idea有自动编译功能(将变量、构造方法、成员方法,都加载到内存中去)创建一个字符串后String st...原创 2021-01-09 12:07:10 · 72 阅读 · 0 评论 -
java之枚举
目录什么时候使用定义一个枚举类Enum常用方法什么时候使用1、枚举类的理解:类的对象只有有限个,确定的,我们称此类为枚举类2、当需要定义一组常量时,强烈建议使用枚举类3、如果枚举类中只有一个对象,则可以作为单例模式的实现方式定义一个枚举类方式1、jdk5.0之前,自定义枚举类public class Season{ //1、声明Season对象的属性 private final String seasonName;...原创 2021-01-09 12:02:01 · 53 阅读 · 0 评论 -
java之Stream流和方法引用
目录Stream流两种获取流的方式方法引用通过各种方式引用成员方法Stream流用于解决已有集合类库既有的弊端例如:List的循环遍历循环是遍历的一种方式,而目的是遍历循环遍历和Stream流方式遍历的对比public class Demo9 { //for循环方式遍历,共使用了3个循环 @Test public void test(){ List<String> list=new Array...原创 2021-01-09 11:58:59 · 382 阅读 · 0 评论 -
java之函数式接口2 函数式编程以及各种接口
Supplier接口、Consumer接口、Predicate接口、Function接口原创 2021-01-09 13:06:42 · 115 阅读 · 0 评论 -
java之函数式接口 冗余分析、Lambda标准格式
函数式编程思想概述概述:就是拿什么东西就做什么事,就像y=2x+1,输入不同的x就有不同的y,面向对象过分强调必须以对象的形式来做事情,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做传统代码的冗余分析冗余的Runnable代码:传统写法public class RunnableImpl implements Runnable{ @Override public void run() { System.out.p...原创 2021-01-08 01:28:02 · 149 阅读 · 0 评论 -
java之网络编程
目录概述TCP通信程序客户端实现服务器实现文件上传案例中的堵塞问题B/S服务器概述软件结构:cs、bs网络通信协议:tcp\ip传输层tcp、udpudp:无连接协议,会丢失数据包,数据被限制在64kb以内tcp:面向连接,三次握手,四次挥手,可靠传输网络编程三要素:协议、ip地址、端口号(1024-65535)TCP通信程序通信步骤:1、服务端程序,需要事先启动,等待客户端的连接2、客户端主动...原创 2021-01-08 01:23:13 · 105 阅读 · 0 评论 -
java之IO流3 Properties、字节缓冲流、字符缓冲流、转换流、序列化、打印流
目录Properties字节缓冲流字符缓冲流转换流转换流的原理及使用序列化transient打印流Properties是已经被淘汰的Hashtable<K,V>的子类,但是是唯一和IO相结合的集合Properties类表示了一个持久的属性集。Properties可以保存在流中或从流中加载。属性列表中每个建及其对应的值都是一个字符串可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储可以..原创 2021-01-08 01:16:42 · 176 阅读 · 0 评论 -
java之IO流2 字符流、Writer类、流中的异常处理
字符流当读取文本文件时,可能会有一个小问题,遇到中文字符,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以java提供了一些字符流类,以字符为单位读写数据,专门用于处理文本文件Reader抽象类是所有用于读取字符流的类的超类,可以读取字符信息到内存中。它定义了字符输入流的基本共性功能方法。void close():关闭流int read():从输入流读取一个字符int read(char[] cbuf):从输入流中读取一些字符,并将它们存储到字符数..原创 2021-01-08 01:11:47 · 161 阅读 · 0 评论 -
java之IO流1
目录IO概述字节流将字符串写入字节流字节输出流的续写和换行InputStream字节输入流IO概述数据的流动,按流动方法向,以内存为基准分为input,output即流向内存的叫输入流流出内存的叫输出流字节流一、一切皆为字节一切文件数据在存储时都是以二进制数字的形式保存,都是一个一个的字节,那么传输时也是如此。所以字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。二、...原创 2021-01-08 01:09:15 · 126 阅读 · 0 评论 -
java之File类
目录概述File构造方法File类常用方法递归在FIle中的用法文件过滤器概述概述:java.io.file类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作java把电脑中的文件和文件件封装为一个File类,我们可以使用File类对文件和文件夹进行操作(增删改查等)注意File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法静态成员变量:String pathSeparator:与系统有关的路径分隔符,...原创 2021-01-08 01:04:04 · 257 阅读 · 0 评论 -
java线程间的通信和线程池
线程间的通信概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不同为什么要处理线程间的通信:多个线程并发执行时,默认情况下cpu是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且希望他们有规律的执行,那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据如何保证线程间通信有效利用资源:多个线程在处理同一个资源,并且任务不同时,需要线程通信来帮助解决线程之间对同一个变量的使用或操作。简单来说:就是在操作同一分数据时,避免...原创 2021-01-08 01:00:00 · 357 阅读 · 0 评论 -
java之线程安全、线程同步、线程状态
目录线程安全线程同步线程状态等待唤醒案例带参的wait和notifyAll线程安全多线程产生的问题图解代码实现:线程类:public class RunnableImpl implements Runnable{ private int ticket=100; @Override public void run() { while (true) if (ticket...原创 2021-01-08 00:57:59 · 104 阅读 · 0 评论 -
java之Runable接口创建线程
Runable接口创建线程声明实现Runable接口的类。该类然后实现run方法。然后可以分配该类的实例,在创建Thread时作为一个参数来传递并启动Thread(Runnable target)分配新的Thread对象Thread(Runnable target,String name)分配新的Thread对象Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定义一个称为 run 的无参数方法。演示:接口实现类:public class My...原创 2021-01-08 00:52:50 · 426 阅读 · 0 评论 -
java之创建线程
目录创建线程Thread类常用方法创建线程主线程单线程的弊端:从上至下的执行Person类中有一个循环打印方法run public static void main(String[] args) { Person p1=new Person("小强"); p1.run(); System.out.println(0/0);//写一个异常 Person p2=new Person("旺财"...原创 2021-01-08 00:48:55 · 103 阅读 · 0 评论 -
java之并发与并行概念
22:49概念:并发:指两个或多个事件在同一个时间段内发生(cpu做高速切换)并行:指两个或多个事件在同一时刻发生(同时发生)进程:指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用可以同时运行多个进程。进程也是程序的一次执行过程,是系统运行程序的基本单位。系统运行一个程序即是一个进程从创建、运行到消亡的过程。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程至少有一个线程,一个进程中可以有多个线程,这个应用程序也可以称之为多线程程序。简.原创 2021-01-07 12:07:12 · 104 阅读 · 0 评论 -
java之自定义异常
概述:根据自己业务的异常情况来定义异常类异常类如何定义:1、定义一个编译期异常:自定义类并继承于java.lang.Exception2、自定义一个运行期异常类:自定义类并继承java.lang.RuntimeException格式:public class XXXException extend Exception/RuntimeException{添加一个空参的构造方法添加一个带异常信息的构造方法}注意:1、自定义异常类一般都是以Excep...原创 2021-01-07 12:04:36 · 292 阅读 · 0 评论 -
java之异常处理
异常的处理之throw2020年7月28日23:28throw关键字:作用:可以使用throw关键字在指定的方法中抛出指定的异常使用格式:throw new xxxException("异常产生的原因");注意:1、throw关键字必须写在方法的内部2、throw关键字后边new的对象必须是Exception或Exception的子类对象3、throw关键字抛出指定的异常对象,我们就必须处理这个异常对象throw关键字后边创建的的是RuntimeExcepti原创 2021-01-07 11:59:23 · 167 阅读 · 1 评论 -
java之异常的概念和解析
概念异常:指程序执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止在java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象,java处理异常的方式是中断处理异常并不是语法错误,语法错误编译过不了,不会产生可运行的字节码文件异常体系:类Throwable是所有异常和错误的超类Exception:编译期异常,进行编译(写代码)java程序出现的问题RuntimeException:运行期异常,java...原创 2021-01-07 11:53:34 · 87 阅读 · 0 评论 -
java之Jdk9对集合的优化
原创 2021-01-07 11:49:16 · 53 阅读 · 0 评论 -
java之map集合的实现类HashMap、LinkedHashMap、HashTable
HashMap public class MainTest { public static void main(String[] args) { //使用已经重写了hashCode和equals的String作为key HashMap<String,Person>map=new HashMap<>(); map.put("北京",new Person("张三",18)); map.put("上海",原创 2021-01-07 11:48:46 · 65 阅读 · 0 评论 -
java之Map集合
常用方法: public static void main(String[] args) { //put方法,返回值v: //存储键值对的时候key不重复,返回值是null // key重复,则会使用新的value替换map中重复的value,返回被替代的value值 Map<Integer,String> map=new HashMap<>(); String v1 = map.put(1, "n..原创 2021-01-07 11:46:12 · 60 阅读 · 0 评论 -
java之Collections集合工具类
可复制版public class Demo1 { public static void main(String[] args) { ArrayList<String> arrayList=new ArrayList<>(); //往集合中添加一些元素addAll(Collection<T> c,T...elements) Collections.addAll(arrayList,"a","b","c","d",".原创 2021-01-07 11:43:28 · 50 阅读 · 0 评论 -
java之可变参数
public static void main(String[] args) { add();//[I@10f87f48如果调用add就会创建一个长度为0的数组 add(1);//创建了一个长度为1的数组 add(1,2);//长度为2的数组 } public static int add(int...arr){ System.out.println(arr); System.out.println(arr.l.原创 2021-01-07 11:42:17 · 51 阅读 · 0 评论 -
java学习之Set接口以及其实现类
hashSetSet<Integer> set=new HashSet<>(); //使用add方法添加元素 set.add(1); set.add(3); set.add(2); //故意添加一个重复元素 set.add(1); //使用迭代器遍历 Iterator<Integer> iterator=set.iterator(); .原创 2021-01-07 11:40:38 · 80 阅读 · 0 评论 -
java学习之List集合
演示:public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("a"); System.out.println(list); .原创 2021-01-06 11:35:39 · 177 阅读 · 0 评论 -
java学习之Collection集合
//使用多态创建集合对象 Collection<String> coll=new ArrayList<>(); System.out.println(coll); //add方法,成功true失败false boolean b1=coll.add("张三"); System.out.println(b1); System.out.println(coll); coll.a.原创 2021-01-06 11:33:17 · 55 阅读 · 0 评论 -
java学习之类或接口作为成员变量
public class MainTest { public static void main(String[] args) { List<String> list=new ArrayList<>(); List<String> result=addName(list); for (int i = 0; i < list.size(); i++) { System.out.printl.原创 2021-01-06 11:32:00 · 68 阅读 · 0 评论 -
java学习之内部类、局部内部类和匿名内部类
public class Body { public class Heart{ public void beat(){ System.out.println("心脏跳动"); System.out.println("我叫"+name); } } //外部类成员变量 private String name; //外部类的方法 public void methodBody(){ .原创 2021-01-06 11:27:34 · 97 阅读 · 0 评论 -
java学习之 instanceof和final关键字详解
Instancefinal原创 2021-01-06 11:26:11 · 99 阅读 · 0 评论 -
java多态详解
笔记本接口案例usb接口public interface USB { public abstract void open(); public abstract void close();}笔记本类public class Computer { public void powerOn(){ System.out.println("笔记本开机"); } public void powerOff(){ System.o.原创 2021-01-06 11:23:21 · 50 阅读 · 0 评论 -
java抽象详解和接口详解
原创 2021-01-06 11:21:59 · 85 阅读 · 0 评论 -
java继承详解
原创 2021-01-06 11:21:16 · 57 阅读 · 0 评论