java小白修炼手册
java小白修炼手册
浊酒南街
纵使疾风起,人生不言弃。
展开
-
第二章:Java语言核心技术学习-不会不行,开发中99.99%会用到的数组
来源:https://edu.csdn.net/course/play/27274/361061不会不行,开发中99.99%会用到的数组一、数组简介:数组大小固定保存的数据类型相同数组的声明数组的初始化int[] arr ={2,5,8,56};int[] arr2 = new int[5]; arr2[0] = 15;system.out.println(arr[0]);...原创 2020-03-27 13:25:48 · 77 阅读 · 0 评论 -
第六章:多线程-设置以及获取线程名称
设置以及获取线程名称1、用thread设置多线程中,设置并获取线程名称;package com.jh.www;public class Demo1 {public static void main(String[] args) {// demo();// 设置线程名称,以及获取线程名称 Thread t =new Thread ("two") { public void run() { System.out.println("我的线程名称是"+this.getName());原创 2020-05-31 23:55:58 · 157 阅读 · 0 评论 -
第四章:File类-File类的获取功能
File类的获取功能:1、获取功能* public String getAbsolutePath():获取绝对路径 绝对* public String getPath():获取路径* public String getName():获取名称* public String[] list():获取指定目录下的所有文件或者文件夹的名称数组* public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组2、示例代码如下:File file = new File原创 2020-06-04 00:13:40 · 111 阅读 · 0 评论 -
第五章:IO流-数据流
数据流之DataInputStream和DataOutputStream1、示例代码如下:package com.jh.www;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.Fil原创 2020-06-08 17:19:39 · 111 阅读 · 0 评论 -
第六章:多线程-线程池
线程池简单应用1、示例代码如下:package com.jh.www;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Demo5 {public static void main(String[] args) { //创建线程池 ExecutorService pool = Executors.newFixedThreadPool(2); //往线原创 2020-05-31 23:05:36 · 78 阅读 · 0 评论 -
第六章:多线程-设置线程优先级
设置线程优先级1、示例代码如下:package com.jh.www;public class Demo7 {public static void main(String[] args) { Thread t1 = new Thread() { public void run() { for(int i=0;i<100;i++) { System.out.println("aaaaaa"); } } }; Thread t2 = ne原创 2020-06-01 09:13:36 · 121 阅读 · 0 评论 -
第七章:设计模式-单例设计模式实例
单例设计模式实例-Runtime1、Runtime类是饿汉式;2、示例代码如下:package com.jh.www;import java.io.IOException;public class Test2 { public static void main(String[] args) throws IOException { Runtime r = Runtime.getRuntime(); r.exec("shutdown -s -t 300"); r.exec("sh原创 2020-06-12 21:50:11 · 90 阅读 · 0 评论 -
第三章:集合-Collection集合的基本功能测试
Collection集合的基本功能测试1、* add(E e);将指定元素添加到列表的尾部* clear();清空集合* remove(Object o);删除元素* size(); 元素个数2、示例代码如下:package com.jh.www;import java.util.ArrayList;import java.util.Collection;public class Test1 { public static void main(String[] args) { /原创 2020-06-21 19:35:19 · 131 阅读 · 0 评论 -
第二章:Java语言核心技术学习-基础语法课:从零开始学java(二)
来源:https://edu.csdn.net/course/play/27274/361057基础语法课:从零开始学java(二)1.掌握类和对象类:是一个模板,是抽象的,它描述一类对象的行为和状态对象:是类的一个实例,是具体的由类创建对象的过程叫实例化方法:方法就是行为,一个类可以有很多方法。逻辑运算,数据修改以及所用动作都是在方法中完成的。属性:每个对象都有独特的属性(实例变量...原创 2020-03-25 22:55:06 · 83 阅读 · 0 评论 -
第三章:集合-泛型
泛型1、泛型概述和基本使用A:泛型概述限定存储的数据的类型B:泛型好处提高安全性(将运行期的错误转换到编译期)省去强转的麻烦C:泛型基本使用<>中放的必须是引用数据类型2、示例代码如下:package com.jh.www;import java.util.ArrayList;import java.util.Iterator;public class Test4 { /** A:泛型概述限定存储的数据的类型 * B:泛型好处原创 2020-06-22 21:19:29 · 109 阅读 · 0 评论 -
第七章:设计模式-适配器设计模式
适配器设计模式1、适配器原理;*适配器就是一个类,实现了监听器接口,所有抽象方法都重写了,但是方法都是空的;*适配器类需要定义成抽象的,因为创建该类对象,调用空方法是没有意义的;*目的就是为了简化程序员的操作,定义监听器时继承适配器,只重写需要的方法就可以了;2、示例代码如下:接口package com.jh.www;public interface Inter {public void eat();public void sleep();public void run();publ原创 2020-06-01 17:34:39 · 104 阅读 · 0 评论 -
第五章:IO流-IO流概述及其分类
IO流概述及其分类1、概述IO流用来处理设备之间的数据传输;2、分类:流按流向分为两种:输入流(读取数据),输出流(写入数据)。流按操作类型分为两种:* 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的* 字符流 : 字符流只能操作纯字符数据,比较方便。3、IO流常用父类字节流的抽象父类:* InputStream* OutputStream字符流的抽象父类:* Reader* Writer 4、常用的IO流字节流:FileInputStr原创 2020-06-05 21:50:23 · 246 阅读 · 0 评论 -
第八章:网络编程-UDP(二)
UDP(二)1、利用Scanner输入多条语句,发送和接收多条语句发送端package com.jh.www;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.util.Scanner;public class Demo2_send {public static void main(String[] args) throws Except原创 2020-06-01 23:28:53 · 119 阅读 · 0 评论 -
第八章:网络编程-TCP(三)
TCP(三)1、服务端是多线程的客户端package com.jh.www;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintStream;import java.net.Socket;import java.原创 2020-06-02 14:54:19 · 95 阅读 · 0 评论 -
第六章:多线程-线程组
线程组1、代码示例如下:package com.jh.www;public class Demo4 {public static void main(String[] args) {// demo01(); ThreadGroup tg1 =new ThreadGroup("新建的线程组"); //创建线程组 MyRunnable mr = new MyRunnable(); //创建线程对象 Thread t1 = new Thread(tg1,mr,"张三");原创 2020-05-31 21:39:29 · 81 阅读 · 0 评论 -
第三章:集合-HashSet集合之LinkedHashSet
HashSet集合之LinkedHashSet1、LinkedHashSet的特点,是唯一能保证怎么存就怎么取的set集合;2、示例代码如下package com.jh.www;import java.util.LinkedHashSet;public class Test2 { public static void main(String[] args) { LinkedHashSet<String> lhs = new LinkedHashSet<>();原创 2020-06-23 09:23:26 · 93 阅读 · 0 评论 -
第八章:网络编程-TCP(一)
TCP(一):1、客户端,服务端连接步骤:1.客户端创建Socket连接服务端(指定ip地址,端口号)通过ip地址找对应的服务器调用Socket的getInputStream()和getOutputStream()方法获取和服务端相连的IO流输入流可以读取服务端输出流写出的数据输出流可以写出数据到服务端的输入流2.服务端创建ServerSocket(需要指定端口号)调用ServerSocket的accept()方法接收一个客户端请求,得到一个Socket调用Socket的get原创 2020-06-02 10:21:24 · 150 阅读 · 0 评论 -
第三章:集合-可变参数
可变参数1、* A:可变参数概述* 定义方法的时候不知道该定义多少个参数* B:格式* 修饰符 返回值类型 方法名(数据类型… 变量名){}* C:注意事项:* 这里的变量其实是一个数组* 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个2、示例代码如下:package com.jh.www;public class Test7 { public static void main(String[] args) { /*可变参数 * * A:可变参数概述原创 2020-06-22 22:27:22 · 76 阅读 · 0 评论 -
第四章:File类-File类的判断功能
File类的判断功能1、判断功能* public boolean isDirectory():判断是否是目录* public boolean isFile():判断是否是文件* public boolean exists():判断是否存在* public boolean canRead():判断是否可读* public boolean canWrite():判断是否可写* public boolean isHidden():判断是否隐藏2、示例代码如下:File file = new Fi原创 2020-06-03 17:53:53 · 284 阅读 · 0 评论 -
第六章:多线程-Callable实现方法
Callable实现方法1、示例代码如下:package com.jh.www;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public原创 2020-05-31 23:27:30 · 112 阅读 · 0 评论 -
第九章:反射-反射简单实例(Class.forName()读取配置文件举例)
反射简单实例(Class.forName()读取配置文件举例)1、实例代码如下:package com.jh.www;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class Test2 { public static void main(String[] args) throws原创 2020-06-10 19:22:55 · 154 阅读 · 0 评论 -
第七章:设计模式-模板设计模式
模板设计模式1、 A:模版设计模式概述* 模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现* B:优点和缺点* a:优点* 使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求* b:缺点* 如果算法骨架有修改的话,则需要修改抽象类2、示例代码如下:package com.jh.www;public class Test1 { public static void main(String[] args) { DemoAbs原创 2020-06-12 17:16:50 · 102 阅读 · 0 评论 -
第四章:File类-File类的重命名和删除功能
File类的重命名和删除功能:1、* A:重命名和删除功能* public boolean renameTo(File dest):把文件重命名为指定的文件路径* public boolean delete():删除文件或者文件夹* B:重命名注意事项* 如果路径名相同,就是改名。* 如果路径名不同,就是改名并剪切。* C:删除注意事项:* Java中的删除不走回收站。* 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹2、示例代码如下: //*public boolean原创 2020-06-03 17:23:49 · 359 阅读 · 0 评论 -
第三章:集合-Vector
Vector1、Vector部分方法void addElement(E obj);增加元素E elementAt(index);获取元素Enumeration elements()枚举遍历2、示例代码如下:package com.jh.www;import java.util.Enumeration;import java.util.Vector;public class Test6 { public static void main(String[] args) { /*原创 2020-06-22 12:12:14 · 65 阅读 · 0 评论 -
第九章:反射-动态代理的概述和实现
动态代理的概述和实现1、 动态代理:在程序运行过程中产生的这个对象,而程序运行过程中产生对象其实就是我们刚才反射讲解的内容,所以,动态代理其实就是通过反射来生成一个代理在Java中java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口就可以生成动态代理对象。JDK提供的代理只能针对接口做代理。我们有更强大的代理cglib,Proxy类中的方法创建动态代理类对象public static Object newProxyInst原创 2020-06-11 00:19:24 · 98 阅读 · 0 评论 -
第三章:集合-HashMap集合键是Student 值是String
HashMap集合键是Student 值是String1、和HashSet类似,Student类需要重写hashCode()方法和equals()方法;2、示例代码如下:package com.jh.www;import java.util.HashMap;public class Test3 { public static void main(String[] args) { //HashMap 键是Student类,值是String; //Student类需要重写hashCode原创 2020-06-24 21:55:18 · 212 阅读 · 0 评论 -
第九章:反射-通过反射写一个通用的设置某个对象的某个属性为指定的值
通过反射写一个通用的设置某个对象的某个属性为指定的值1、A:案例演示* public void setProperty(Object obj, String propertyName, Object value){},此方法可将obj对象中名为propertyName的属性的值设置为value。2、示例代码如下:package com.jh.www;import java.lang.reflect.Field;public class Test7 { public static void原创 2020-06-10 22:05:38 · 145 阅读 · 0 评论 -
第五章:IO流-字节流不能读中文,可以写中文
字节流不能读中文,可以写中文1、示例代码如下:字节流不能读中文:*小数组数为基数时,出现乱码;*文本内容出现特殊标点符号时,容易出现乱码;备注:a.txt文本内容为:大家好,我是渣渣辉,?1:‘’,。输出结果为:大家好,我是渣渣辉,?1?骸?package com.jh.www;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public cla原创 2020-06-06 11:42:40 · 654 阅读 · 0 评论 -
第五章:IO流-IO练习(一)
IO练习(一):将一个文本文档上的文本反转,第一行和倒数第一行交换,第二行和倒数第二行交换;1、示例代码如下:package com.jh.www;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;publi原创 2020-06-07 18:39:36 · 128 阅读 · 0 评论 -
第五章:IO流-缓冲流BufferedInputStream和BufferedOutputStream
缓冲流BufferedInputStream和BufferedOutputStream1、缓冲思想B.BufferedInputStream* BufferedInputStream内置了一个缓冲区(数组)* 从BufferedInputStream中读取一个字节时* BufferedInputStream会一次性从文件中读取8192个, 存在缓冲区中, 返回给程序一个* 程序再次读取时, 就不用找文件了, 直接从缓冲区中获取* 直到缓冲区中所有的都被使用过, 才重新从文件中读取8192个原创 2020-06-06 10:53:55 · 121 阅读 · 0 评论 -
第五章:IO流-拷贝文件的三种方式(二)
拷贝文件的三种方式(二)1、示例代码如下:package com.jh.www;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class Test4 {public static void main(String[] args) throws IOException {原创 2020-06-06 00:21:22 · 101 阅读 · 0 评论 -
第一章:Java语言的前世今生-种族天赋:大谈Java成功之道
种族天赋:大谈Java成功之道来源:java语言的特点:1.简单、高效2.面向对象3.跨平台Java源码java字节码jvm虚拟机操作系统虚拟机是不跨平台的4.交互式特性5.多线程机制6.动态的内存管理java自动回收内存java垃圾回收器GC轮询机制7.安全性...原创 2020-03-25 16:04:30 · 116 阅读 · 0 评论 -
第二章:Java语言核心技术学习-一句话在java中如何表达?快学java字符串
来源:https://edu.csdn.net/course/play/27274/361060一句话在java中如何表达?快学java字符串一、字符串简介:1、java中提供了String 类创建和操作字符串直接赋值创建字符串 String name = " tom "使用构造函数创建字符串String name1 = new String(" kate")获得字符串长度 .le...原创 2020-03-27 00:21:24 · 86 阅读 · 0 评论 -
第七章:设计模式-单例设计模式
单例设计模式1、单例设计模式:保证类在内存中只有一个对象。如何保证类在内存中只有一个对象呢?(1)控制类的创建,不让其他类来创建本类的对象。private(2)在本类中定义一个本类的对象。Singleton s;(3)提供公共的访问方式。 public static Singleton getInstance(){return s}2、示例代码如下:package com.jh.www;public class Test1 { /* *单例设计模式:保证类在内存中只有一个原创 2020-06-12 21:18:30 · 183 阅读 · 0 评论 -
第六章:多线程-加入线程
加入线程1、示例代码入下:package com.jh.www;public class Demo5 {public static void main(String[] args) { Thread t1 = new Thread() { public void run() { for(int i=0;i<100;i++) { System.out.println("aaaaaa"); } } }; t1.start(); Thread原创 2020-06-01 00:36:34 · 65 阅读 · 0 评论 -
第三章:集合-TreeMap
TreeMap1、TreeMap集合键是Student值是String的案例优先以年龄进行排序,其次以姓名进行排序;2、示例代码如下:package com.jh.www;import java.util.Comparator;import java.util.TreeMap;public class Test5 { public static void main(String[] args) { TreeMap<Student, String> tm = new Tre原创 2020-06-24 22:53:22 · 161 阅读 · 0 评论 -
第三章:集合-TreeSet练习(三)
1、要求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台2、示例代码如下:package com.jh.www;import java.util.Comparator;import java.util.Scanner;import java.util.TreeSet;public class Test10 { public static void main(String[] args) { /*键盘录入5个学生信息(姓名,语文成绩,数学成绩原创 2020-06-24 00:22:12 · 157 阅读 · 0 评论 -
第四章:File类-File类概述和构造方法
File类概述和构造方法:1、File类概述:File:文件和目录路径名的抽象表达形式;确切的说File更应该叫做一个路径;2、构造方法:* File(String pathname):根据一个路径得到File对象* File(String parent, String child):根据一个目录和一个子文件/目录得到File对象* File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象3、示例代码如下://* File(St原创 2020-06-03 16:24:16 · 308 阅读 · 0 评论 -
第八章:网络编程-TCP(五)
TCP(五): * 客户端向服务器上传文件1、示例代码如下:客户端:package com.jh.www;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintStre原创 2020-06-02 22:58:08 · 98 阅读 · 0 评论 -
第三章:集合-三种迭代能否删除
三种迭代能否删除1、* 普通for循环,可以删除,但是索引要–* 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常* 增强for循环不能删除2、示例代码如下:package com.jh.www;import java.util.ArrayList;import java.util.Iterator;import java.util.ListIterator;public class Test6 { public static void main(S原创 2020-06-22 22:00:33 · 136 阅读 · 0 评论