Java学习笔记
菜菜2022
这个作者很懒,什么都没留下…
展开
-
【Docker】学习Docker(一)
环境配置十分麻烦,每个机器都需要部署环境windows上开发,部署在linux环境上docker的思想来自于集装箱,利用隔离机制,可以将服务器运用到极致。新技术的出现都是为了解决现有的问题!转载 2022-08-22 20:43:42 · 94 阅读 · 0 评论 -
【Java】深入理解Java虚拟机P1-3(JVM性能调优+内存模型+虚拟机原理)
JDK JRE JVM的区别和联系JDK:Java Development Kit,Java 开发工具包JRE:Java Runtime Environment,Java 运行时环境JVM:Java Virtual Machine, Java 虚拟机,它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。jvm 是 Java 能够跨平台的核心。这三者的关系是:一层层的嵌套关系。JDK>JRE>JVM。图片源原创 2021-07-22 14:15:48 · 187 阅读 · 0 评论 -
【Java-II】注解和反射 P8-10(Day21-20210721-Day3)
2.2 所有类型的Class对象int[] a=new int[10];int[] b = new int[100];System.out.println(a.getClass().hashCode());System.out.println(b.getClass().hashCode());//输出195672589019567258902.3 类加载内存分析类的加载与ClassLoader的理解2.4 分析类初始化什么时候会发生类的初始化...原创 2021-07-21 22:54:32 · 122 阅读 · 0 评论 -
【Java-II】注解和反射 P5-7(Day21-20210720-Day2)
第二章2.1 反射机制new出来的和反射出来的相差好几十倍,除了特殊情况,不要用反射获取Class的方法package reflection;//什么叫反射public class test02 { public static void main(String[] args) throws ClassNotFoundException { //通过反射获取类的class对象 Class c1=Class.forName("reflection.U原创 2021-07-20 22:47:13 · 116 阅读 · 2 评论 -
【Java-II】注解和反射 P4(Day21-20210720-Day2)
1.4 自定义注解package annotation;import javax.xml.bind.Element;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;//自定义注解public class Test03 {原创 2021-07-20 22:01:43 · 115 阅读 · 0 评论 -
【Java-II】注解和反射 P1-3(Day20-20210719-Day1)
1.1 什么是注解注解起到规范和约束的作用。@Override //重写注解@Deprecated //废弃,不推荐程序员使用,但是可以使用,或者存在更好的方式1.2 内置注解package annotation;//镇压警告,这是一个可以放置参数的注解@SuppressWarnings("all")public class Test01 extends Object{ @Override public String toString() { retur原创 2021-07-20 20:57:30 · 112 阅读 · 0 评论 -
【Java-II】网络编程实战讲解 P7-12(Day19-20210718-Day2)
1.7 TCP文件上传实现package web;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;public class testServerDemo02 { public static void main(String[] args) throws IOException { //1、创建服务 ServerSo原创 2021-07-18 22:38:15 · 144 阅读 · 1 评论 -
【Java-II】网络编程实战讲解 P1-6(Day18-20210717-Day1)
1.1 什么是计算机网络1.2 网络通信的两个要素1.3 IP地址package web;import java.net.InetAddress;import java.net.UnknownHostException;public class testInetAddress { public static void main(String[] args) { try { //查询本机地址 InetAddress原创 2021-07-17 22:51:36 · 71 阅读 · 1 评论 -
【Java-II】多线程详解 P24-28(Day18-20210717-Day6)
生产者消费者问题package threadLearn.deadlock;import java.sql.Connection;//测试:生产者消费者模型-->利用缓冲区解决:管程法//生产者,消费者,产品,缓冲区public class testPC { public static void main(String[] args) { SynContainer synContainer = new SynContainer(); ne原创 2021-07-17 15:32:54 · 84 阅读 · 2 评论 -
【Java-II】多线程详解 P22-23(Day17-20210716-Day5)
死锁Case1package threadLearn.deadlock;//死锁:多个线程public class DeadLock { public static void main(String[] args) { Makeup g1 = new Makeup(0,"灰姑娘"); Makeup g2 = new Makeup(1,"白雪公主"); g1.start(); g2.start(); }}//口红原创 2021-07-16 22:41:13 · 112 阅读 · 1 评论 -
【Java-II】多线程详解 P20-21(Day17-20210716-Day5)
同步方法及同步块使用synchronized锁方法实现排队:package threadLearn.syn;//不安全的买票public class UnsafeBuyTicket{ public static void main(String[] args) { BuyTicket buyTicket = new BuyTicket(); new Thread(buyTicket,"苦逼的我").start(); new Threa原创 2021-07-16 21:28:31 · 77 阅读 · 0 评论 -
【Java-II】多线程详解 P18-19(Day16-20210715-Day4)
线程同步发生在多个线程操作同一个资源线程同步机制三大不安全案理每个线程都有自己的工作内存Case1:买票package threadLearn.syn;//不安全的买票public class UnsafeBuyTicket{ public static void main(String[] args) { BuyTicket buyTicket = new BuyTicket(); new Thread(buyTicket,"苦逼的我").st原创 2021-07-16 19:12:51 · 126 阅读 · 1 评论 -
【Java-II】多线程详解 P14-17(Day16-20210715-Day4)
线程强制执行package threadLearn.state;//测试Join方法 ——>想象成插队public class testJoin implements Runnable{ @Override public void run() { for (int i = 0; i < 1000; i++) { System.out.println("线程vip来了——>"+i); } } pu原创 2021-07-15 20:18:40 · 89 阅读 · 1 评论 -
【Java-II】多线程详解 P11-13(Day15.16-20210714.15-Day3.4)
线程状态其实这种设置flag不让控制台输出的方式并不能真正的让线程停止,只是不让其输出:package threadLearn.state;//测试stop//1.建议线程正常停止--->利用次数,不建议死循环。//2.建议使用标志位--->设置一个标志位//3.不要使用stop或者destory等过时或者JDK不建议使用的方法(有bug或弊端)public class TestStop implements Runnable{ //1. 设置一个标识位 pri原创 2021-07-15 16:49:27 · 115 阅读 · 1 评论 -
【Java-II】多线程详解 P9-10(Day14、15-20210713、14-Day2、3)
09 静态代理package threadLearn.demo02;//静态代理模式总结: //真实对象和代理对象都要使用同一个接口 //代理对象要代理真实角色,代理对象//好处: //代理对象可以做真实对象做不了的事情 //真实对象专注做自己的事情public class StaticProxy { public static void main(String[] args) { You you = new You()原创 2021-07-14 21:05:52 · 97 阅读 · 1 评论 -
【Java-II】多线程详解 P6-8(Day14-20210713-Day2)
06 初识并发问题——以购买火车票为例package threadLearn.demo01;public class TestThread4 implements Runnable{ //票数 private int ticketNums=10; @Override public void run() { while (true){ if (ticketNums<=0){ break;原创 2021-07-13 20:21:44 · 118 阅读 · 1 评论 -
【Java-II】多线程详解 P3(Day5-20210704-Day1)
程序:main线程 gc守护线程 (JVM创建的 用于垃圾回收)02 线程创建线程创建的三种方式Thread classRunnable 接口Callable 接口(工作之后用的多)Java虚拟机允许同时执行多个线程线程创建方式1:1、继承Thread类,重写run()方法,调用start()开启线程线程启动需要时间,线程开启不一定立即执行,需要CPU调度执行demo例子package threadLearn.demo01;public class TestThread1 ex原创 2021-07-13 15:30:11 · 144 阅读 · 0 评论 -
【Java】使用idea进行Java后端开发 常用的快捷键
try…catch…对于多行代码想要使用trycatch代码块将其包围起来,只需选中需要包围的代码块,按住组合键:ctrl+alt+t即可选择是try-catch还是try-catch-finally原创 2021-07-13 15:25:23 · 177 阅读 · 0 评论 -
【Java-II】多线程详解 P1-2(Day5-20210704-Day1)
原创 2021-07-04 23:39:56 · 81 阅读 · 0 评论 -
【Java基础】【狂神说Java】Java零基础学习视频通俗易懂P77-79(异常)(Day5-20210704)
package exception;public class Test { public static void main(String[] args) { int a=1; int b=0; try{//try监控区域 System.out.println(a/b); }catch (Exception e){//catch捕获异常 括号里是:想要捕获的异常类型 //可以多个catc...原创 2021-07-04 23:10:09 · 110 阅读 · 0 评论 -
【Java基础】【狂神说Java】Java零基础学习视频通俗易懂P60-76(OOP)(Day4、5-20210703、04)
同一个包下的类不需要导入就可以使用,不同包下的类,必须导入包才能使用。static修饰静态方法,静态方法可以通过类名.方法名,进行调用,非静态方法通过这种方式进行调用会报错。static修饰的内容是和类一起加载的,非静态方法是和对象一起生成的(类实例化之后才存在),所以static方法不能调用非静态方法。Java是值传递一个类里只能有一个public的类package oop;public class Student { //静态方法 通过类名.方法名 调用 publ...原创 2021-07-04 22:03:27 · 208 阅读 · 2 评论 -
【Java基础】【狂神说Java】Java零基础学习视频通俗易懂P52-59(数组)(Day3-20210702)
1 数组原创 2021-07-02 20:47:36 · 169 阅读 · 1 评论 -
【Java基础】【狂神说Java】Java零基础学习视频通俗易懂P45-51(方法)(Day3-20210702)
1 方法1.1 方法的基本知识main方法是由java虚拟机调用的1.2 方法的重载1.3 命令行传参package method;public class Demo03 { public static void main(String[] args) { for(int i=0;i<args.length;i++){ System.out.println(args[i]); } }}打开cmdjav原创 2021-07-02 15:27:38 · 164 阅读 · 0 评论 -
【Java基础】【狂神说Java】Java零基础学习视频通俗易懂P33-44(Day3-20210702)
p33 Java流程控制01:用户交互Scannerp34 Java流程控制02:Scanner进阶使用p35 顺序结构p36 if选择结构p37 Switch选择结构p38 While循环详解p39 DoWhile循环p40 For循环详解1 Java流程控制01:用户交互Scanner1.1 next()package base;import java.util.Scanner;public class Demo01 { public static void m.原创 2021-07-02 14:11:56 · 194 阅读 · 2 评论 -
【Java基础】【狂神说Java】Java零基础学习视频通俗易懂P27-32(Day2-20210628)
P27P27 基本运算符P28 自增自减运算符原创 2021-07-02 12:17:06 · 161 阅读 · 2 评论 -
【Java基础】【狂神说Java】Java零基础学习视频通俗易懂P21-26(Day1昨天忘记发布了)
Java小技巧(idea下)psvm +tab键 补全public static void main(String[] args) {}sout+enter键/鼠标点击选择 可以实现补全 System.out.println();System.out.println();/*+enter键生成多行注释符号/* */Java基本语法1 注释、标识符、关键字1.1 注释1.1.1 单行注释(只能注释改行为文字)//这里写注释,只能注释改行为文字原创 2021-06-28 15:01:37 · 175 阅读 · 1 评论 -
【Java基础】【狂神说Java】Java零基础学习视频通俗易懂P1-20(Day1)
JDK JRE JVM命令行下编译运行java文件Hello.java文件内容public class Hello{ public static void main(String[] args){ System.out.print("Hello World!"); }}准备好java文件之后就可以进行下面的操作了!!打开cmd,进入Hello.java所在的文件路径,然后cmd下输入javac Hello.java,编译文件生成.class文件javac Hello.java..原创 2021-06-27 16:26:25 · 197 阅读 · 0 评论 -
【Java学习笔记】1-13重载
方法的重载定义:**多个方法的名称一样,但是参数列表不一样。**方法名称区分大小写!!!好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。方法重载与下列因素相关:1、参数个数不同2、参数类型不同3、参数的多类型顺序不同方法重载与下列因素无关:1、与参数的名称无关2、与方法的返回值类型无关//错误示范,方法重载与方法的返回值无关public static int sum(int a,int b){ return a+b}public static double sum原创 2021-03-08 00:23:43 · 194 阅读 · 0 评论
分享