Java自学笔记
李李李iiii
这个作者很懒,什么都没留下…
展开
-
JUC自学:通过几个锁问题来彻底搞懂锁
1、标准情况下,两个线程执行,先发短信,然后打电话。 是因为用synchronized修饰方法上的时候,会锁方法的调用者,谁先拿到锁就谁先执行,并且sleep()也不会释放锁。import java.util.concurrent.TimeUnit;public class Test1 { public static void main(String[] args) { Phone phone = new Phone(); new Thre...原创 2022-05-25 02:30:33 · 61 阅读 · 0 评论 -
SpringCloud:集群环境配置
配置准备:1、需要三个module文件,一个module要关联另外两个module文件7001的application.yml模板:server: port: 7001eureka: instance: hostname: eureka7001.com client: register-with-eureka: false fetch-registry: false service-url: defaultZone: http:/..原创 2022-03-21 01:27:14 · 1118 阅读 · 0 评论 -
Java:获取注解信息
public class testAnnotation { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException { Class c1 = Class.forName("test01.Student"); System.out.println(c1); Annotation[] annotations = c1.getAn.原创 2022-01-19 20:05:07 · 508 阅读 · 0 评论 -
JavaWeb:Response下载文件
public class Response extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { //1.文件的路径 String path = "C:\\Users\\李浩\\IdeaProjects\\javaweb-servlet\\response\\src.原创 2021-10-25 11:21:18 · 109 阅读 · 0 评论 -
Java自学笔记:继承Thread类实现多线程
TestThread.java://继承Thread类的方法实现多线程public class TestThread extends Thread{ @Override public void run() { System.out.println("多线程的运行代码"); for (int i = 0 ; i<4;i++){ System.out.println("这是多线程的逻辑代码:"+i); }...原创 2021-08-31 01:13:51 · 272 阅读 · 0 评论 -
Java自学笔记:动态代理
ITestDemo接口:public interface ITestDemo { void test1(); void test2();}ProxyDemo类:public class ProxyDemo implements InvocationHandler { Object obj ;//被代理的对象 public ProxyDemo(Object obj){ this.obj=obj; } @Override...原创 2021-08-31 00:24:13 · 80 阅读 · 0 评论 -
Java自学笔记:随机存取流
public class Test1 { public static void main(String[] args) { try {// Test1.testRandomAccessFileRead(); Test1.TestRandomAccessFileWrite(); } catch (Exception e) { e.printStackTrace(); } }.原创 2021-08-24 12:08:58 · 103 阅读 · 0 评论 -
Java自学笔记:对象流,序列化与反序列化
/*序列化与反序列化注意:对象的序列化与反序列化使用的类要严格一致,包名,类名,类结构等等所有都要一致。 */public class Test1 { public static void main(String[] args) { try {// Test1.testSerialize(); Test1.testD(); } catch (Exception e) { e.prin.原创 2021-08-24 11:22:28 · 108 阅读 · 0 评论 -
Java自学笔记:转换流
public class Test1 { public static void main(String[] args) {// Test1.testInputStreamReader(); Test1.testOutputStreamWriter(); } public static void testInputStreamReader(){ try { FileInputStream in =new F.原创 2021-08-22 19:25:50 · 58 阅读 · 0 评论 -
Java自学笔记:缓冲字符流
public class Test2 { public static void main(String[] args) { Test2.testBufferdReader(); try { Test2.testBufferdWriter(); Test2.copyTest(); } catch (Exception e) { e.printStackTrace(); .原创 2021-08-22 19:24:53 · 48 阅读 · 0 评论 -
Java自学笔记:缓冲字节流
public class Test1 { public static void main(String[] args) { try {// Test1.testBufferOutputStream();// Test1.testBufferInputStream(); Test1.copyTest("C:\\Users\\李浩\\Desktop\\1\\src\\date8_21\\tt.txt","C:\\.原创 2021-08-22 19:23:00 · 48 阅读 · 0 评论 -
Java自学笔记:文件字符流
public class Test1 { public static void main(String[] args) {// testFileReader("C:\\youxi\\JavaTest\\aa\\bb\\cc\\tt1.txt");// testFileWriter("super idol的笑容都没你得甜","C:\\youxi\\JavaTest\\aa\\bb\\cc\\tt.txt");// copyFile("C:\\you.原创 2021-08-19 17:07:49 · 53 阅读 · 0 评论 -
Java自学笔记:文件字节流,复制文件
public class Test2 { public static void main(String[] args) throws IOException { Test2.testFileInputStream(); Test2.testFileOutputStream(); /* 文件字节输入流FileInputStream */ Test2.copyTest("C:\\youxi\\Jav.原创 2021-08-19 15:36:29 · 62 阅读 · 0 评论 -
Java自学笔记:IO流
public class Test2 { public static void main(String[] args) throws IOException { File a = new File("C:\\youxi\\JavaTest\\tt.txt"); //获取文件的名称 System.out.println(a.getName()); //获取文件路径 System.out.println(a.getPath.原创 2021-08-18 21:04:56 · 61 阅读 · 0 评论 -
Java自学笔记:枚举类
public class Test1 { public static void main(String[] args) { //Season.SPRING,这段执行就是获取一个Season对象 Season s1 = Season.SPRING; s1.showInfo(); Season s2 = Season.SUMMER; s2.showInfo(); Season s3 = Season.AUT.原创 2021-08-16 23:17:11 · 64 阅读 · 0 评论 -
Java自学笔记:泛型
泛型类:public class Test2 { public static void main(String[] args) { //在new A的对象指定泛型的类型String A<String> a1 = new A<String>(); //对象使用setKey(T key)方法,中的key形参就是String a1.setKey("张三"); //T getKey(),返回值就有n原创 2021-08-16 22:25:28 · 126 阅读 · 0 评论 -
Java自学笔记:Collections工具
public class Test { public static void main(String[] args) { List<Student> list1 = new ArrayList<Student>(); Student s1 = new Student(75,"张山"); Student s2 = new Student(45,"里斯"); Student s3 = new Student(44.原创 2021-08-12 18:25:11 · 57 阅读 · 0 评论 -
Java自学笔记:Map集合
public class Map1 { public static void main(String[] args) { Map<String,Integer> map1 = new HashMap<String,Integer>(); map1.put("a",1); map1.put("r",4); map1.put("q",8); map1.put("c",6); Syst.原创 2021-08-11 13:15:38 · 89 阅读 · 0 评论 -
Java自学笔记:List集合
public class Lis { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("a"); list.add("a"); list.add("c"); list.add("a"); System.out.println(list); .原创 2021-08-11 12:29:48 · 68 阅读 · 0 评论 -
Java自学笔记:TreeSet自然排序
public class trees { public static void main(String[] args) { //泛型是Integer Set<Integer> set = new TreeSet<Integer>(); //TreeSet自然排序 set.add(1); set.add(6); set.add(7); set.add(4); .原创 2021-08-10 00:42:28 · 92 阅读 · 0 评论 -
Java自学笔记:HashSet集合
public static void main(String[] args) { Set set = new HashSet(); set.add("路"); set.add(7); System.out.println(set); set.remove(7);//移除元素 System.out.println(set); System.out.println(set.contains("路"));//判断是否有这个元素 set.cle.原创 2021-08-09 19:56:38 · 79 阅读 · 0 评论 -
Java自学笔记:单例设计模式:饿汉式、懒汉式
饿汉式Single.java://假设构造中要执行1000行代码,要占用很大的资源,耗时很长(10秒)//每一次new Single对象需要10秒,运行1000行代码,要花费很多时间//像这种情况,就适合使用单例模式,只new一次对象,以后就一直使用这个对象public class Single { //私有的构造,构造方法私有化,调用这个类的人就不能直接使用new来创建对象 private Single(){ } private static Sing..原创 2021-08-05 18:50:32 · 76 阅读 · 0 评论 -
Java自学笔记:递归
递归结构包括两个部分: 递归头:什么时候不调用自身方法。如果没有头,将进入死循环。 递归体:什么时候调用自身方法。原创 2021-08-04 19:36:24 · 51 阅读 · 0 评论 -
Java自学笔记:break,continue
break用于强制退出循环。continue用于终止某次循环过程。用来tia'ao'guo'mou'xie'dong'xi原创 2021-08-04 19:32:00 · 36 阅读 · 0 评论 -
Java自学笔记:内部类
public class Test { int i; public int b; private int a; class A{ public void setTest3Fileds(){ Test.this.i=1; Test.this.b=2; Test.this.a=3; } } public void setInfo(){ //外部.原创 2021-08-03 17:48:45 · 56 阅读 · 0 评论 -
Java自学笔记:工厂模式
BWM.java//定义一个输出产品信息的接口public interface BWM { void showInfo();}//构建具体的宝马车的类class BWM3 implements BWM { @Override public void showInfo() { System.out.println("这个是宝马3系"); }}class BWM5 implements BWM { @Override publ原创 2021-08-02 22:42:57 · 56 阅读 · 0 评论 -
Java自学笔记:抽象类abstract
Abstract类的父类,子类必须要重写父类的构造方法类似于父债子还原创 2021-07-29 23:49:09 · 63 阅读 · 0 评论 -
Java自学笔记:static关键字
加了static就是从属这个类,其他人用不了,只有本类能用public class h8 {//第二个输出,赋初始值 { System.out.println("匿名代码块"); }//第一个输出,只执行一次 static { System.out.println("静态代码块"); }//最后输出。 public h8(){ System.out.printl...原创 2021-07-29 23:28:17 · 44 阅读 · 0 评论 -
Java自学笔记:instanceof和类型转换
public class Application { public static void main(String[] args) { //Object > String //Object > Person > Teacher //Object > Person > Student //编译错误是因为new的是Student,跟它们没有关系 Object object = new St.原创 2021-07-29 23:01:15 · 59 阅读 · 0 评论 -
Java自学笔记:多态
public class Application { public static void main(String[] args) { Student s1 = new Student(); Person s2 = new Student(); Object s3 = new Student();//对象能执行哪些方法,主要看对象左边的类型,和右边关系不大。 s2.run(); s1.run();...原创 2021-07-29 20:54:46 · 61 阅读 · 0 评论 -
Java自学笔记:方法重写
重写(Override),方法的名称一样,参数列表【也一样】。覆盖,覆写。重载(Overload),方法的名称一样,参数列表【不一样】。@Override可以检查代码是否重写成功输出结果:A=>test()B=>test()去掉A跟B的静态方法后输出结果:A=>test()A=>test()即b是A new出来的对象,因此调用了A的方法因为静态方法是类的方法,而非静态是对象的方法有static时,b调用了B类的方法,因为b是用...原创 2021-07-29 20:34:28 · 43 阅读 · 0 评论 -
Java自学笔记:super()与this()
super注意点: 1.super调用父类的构造方法,必须在构造方法的第一个。 2.super必须只能出现在子类的方法或者构造方法中! 3.super和this不能同时调用构造方法。this: 代表对象的不同: this:本身调用者这个对象 super:代表父类对象的应用 前提 this:没有继承也可以使用...原创 2021-07-28 21:25:57 · 43 阅读 · 0 评论 -
Java自学笔记:封装
/* 封装的意义 1.提高程序的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口 4.提高系统的可维护性 属性私有 set/get */public class op06 { public static void main(String[] args) { student li = new student(); student hong = new student(); li.setNam.原创 2021-07-27 23:21:00 · 34 阅读 · 0 评论 -
Java自学笔记:值传递和引用传递
//值传递public class op04 { public static void main(String[] args) { int a = 1; System.out.println(a);//1 op04.change(a); System.out.println(a);//1 }//返回值为空 public static void change(int a){ ...原创 2021-07-27 12:41:16 · 40 阅读 · 0 评论 -
Java自学笔记:稀疏数组
public class A03 { public static void main(String[] args) { //1.创建一个二维数组11*11 0:没有棋子, 1,黑棋 2.白棋 int[][] array1= new int[11][11]; array1[1][2]=1; array1[2][3]=2; //1.输出原始数组 System.out.println("输出原始数组.原创 2021-07-26 01:34:40 · 38 阅读 · 0 评论 -
Java自学笔记:二维数组
public class A02 { public static void main(String[] args) { int[][] array= {{1,2},{3,4},{5,6},{7,8},{9,58}}; System.out.println(array[4][0]); System.out.println(array[0][1]); System.out.println("========================.原创 2021-07-25 15:54:00 · 50 阅读 · 0 评论 -
Java自学笔记:数组
一开始烦的错误:int[] nums;int[] nums = new nums[10];改正:int[] nums;//声明了一个数组nums =new int[10];//创建一个数值//3.给数组元素赋值nums[0]=10;获取数组的长度:arrays.length创建数组的语法:dataType[] arrayRefVar = new dataType[arraySize];...原创 2021-07-25 15:09:19 · 61 阅读 · 0 评论 -
Java自学笔记:简易计算器
自己写的代码:import java.util.Scanner;public class caculate { public static void main(String[] args) { System.out.println(":"); Scanner scanner01 = new Scanner(System.in); long a = scanner01.nextLong(); //这是识别加减乘除的方法 .n原创 2021-07-24 22:52:09 · 78 阅读 · 0 评论 -
Java自学笔记:可变参数
public class m03 { public static void main(String[] args) { m03 m03 = new m03(); m03.m(1); }//可变传参数只能作为最后一个参数//是用来输入多个不确定值时使用 public void m(int... i){ System.out.println(i[0]); }}...原创 2021-07-24 12:29:39 · 42 阅读 · 0 评论 -
Java自学笔记:while循环,for循环
do while与while的举例:int i = 0 ;//尽量限制程序无限循环,但是在有些方面需要程序一直循环,例如等待服务器响应。while (i<0){ System.out.println(i);}System.out.println("===================");//让程序至少执行一次do { System.out.println(i);}while (i<0);输出结果:===================0...原创 2021-07-22 23:14:25 · 110 阅读 · 0 评论