java基础
java基础
追寻远方的人
你的职责是平整土地,而非焦虑时光。
展开
-
JVM探究
JVM探究面试常见:请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOverFlowError? 怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取,怎么分析Dump文件?谈谈JVM中,类加载器你的认识1.JVM的位置JRE:java开发环境,包含了JVM2.JVM的体系结构Java栈、本地方法栈、程序计数器不会有垃圾回收,否则程序会死掉百分之99的JVM调优都是在方法区和堆(99%是堆)中调优,Java栈、本地方法栈、程序转载 2021-05-11 06:17:10 · 91 阅读 · 0 评论 -
注解和反射
注解和反射什么是注解package com.yoona.annotation;//测试学习 什么是注解public class Test01{ //@Override 重写的注解 @Override public String toString() { return "Test01{}"; }}内置注解@override@Deprecated@SuppressWarnings 参数 all unchecked depreca原创 2021-05-09 21:55:37 · 81 阅读 · 0 评论 -
多线程
多线程继承Thread类package com.Yoona.demo01;//创建方式一:继承Thread类,重写run方法,调用start开启线程//注意:线程开启不一定立即执行,由cpu调度执行public class TestThread1 extends Thread{ @Override public void run() { //run方法线程体 for (int i = 0; i < 20; i++)原创 2021-05-07 22:43:54 · 423 阅读 · 0 评论 -
网络编程
网络编程1.1、概述1.2、网络通信的要素如何实现网络的通信?通信双方的地址:IP端口号192.168.16.124规则:网络通信的的协议TCP/IP 参考:应用层 传输层 网络层 数据链路层小结:1.网络编程中有两个主要问题如何准确定位到网络上的一台或多台主机找到主机之后如何进行通信2.网络编程中的要素IP和端口号网络通信协议3.万物皆对象1.3、IPip地址:inetAddress唯一定位一台网络上计算机127.0.0.1:本机localho原创 2021-03-13 22:02:32 · 162 阅读 · 2 评论 -
GUI编程
GUI 编程1、简介窗口弹窗面板文本框列表框按钮图片监听事件鼠标键盘事件2、AWT2.1、AWT介绍2.2、组件和容器1、Framepackage com.Yoona.lesson01;import java.awt.*;public class TestFrame{ public static void main(String[] args) { //Frame Frame frame = new Frame(原创 2021-03-01 10:04:06 · 200 阅读 · 2 评论 -
day02 异常 自定义异常
异常自定义异常package com.exception.demo02;public class Test { //可能会存在异常的方法 static void test(int a) throws MyException { System.out.println("传递的参数" + a); if (a > 10) { throw new MyException(a);//抛出 } Syst原创 2021-01-11 19:46:48 · 88 阅读 · 0 评论 -
day01 异常 捕获和抛出
异常捕获异常package com.exception;public class Test2 { public static void main(String[] args) { int a = 1; int b = 0; //ctrl + alt + t try { System.out.println(a / b); } catch (Exception e) {原创 2021-01-11 19:46:11 · 86 阅读 · 0 评论 -
day13 面向对象 N种内部类
面向对象N种内部类package com.oop.demo12;public class Application { public static void main(String[] args) { //new Outer outer = new Outer(); //通过这个外部类来实例化内部类 Outer.Inner inner = outer.new Inner(); inner.in();//这是内部类的原创 2021-01-10 13:26:31 · 85 阅读 · 0 评论 -
day12 面向对象 接口
面向对象接口package com.oop.demo11;//抽象思维//interface 定义的关键字,接口需要实现类public interface UserService { //接口中的所有定义的方法其实都是抽象的 public abstract //属性都是常量 很少用 int age = 99; //public static final void add(String name); void delete(String nam原创 2021-01-10 11:18:05 · 116 阅读 · 0 评论 -
day11 面向对象 抽象类
面向对象抽象类package com.oop.demo10;//abstract 抽象类:类 extends 单继承~ 接口可以多继承public abstract class Action { //约束~有人帮我们实现 //abstract,抽象方法,只有方法名字,没有方法的实现 public abstract void doSomemthing(); //有了抽象方法,必须是抽象类 public void hello() { }原创 2021-01-09 22:02:14 · 74 阅读 · 0 评论 -
day10 面向对象 static 代码块 导入包
面向对象staticpackage com.oop.demo09;//static:public class Student { private static int age;//静态变量 多线程 private double score;//非静态变量 public void run() { } public static void go() { } public static void main(String[] args)原创 2021-01-09 21:19:28 · 129 阅读 · 0 评论 -
day08 面向对象 多态
面向对象多态package com.oop.demo07;public class Application { public static void main(String[] args) { //一个对象的实际类型是确确定的 //Student s1 = new Student(); // Person p1 = new Person(); //可以指向的引用类型就不确定了 //Student 能调用的方法都原创 2021-01-09 16:39:28 · 93 阅读 · 0 评论 -
day07 面向对象 继承
面向对象继承object类package com.oop.demo05;public class Application { public static void main(String[] args) { Student s1 = new Student(); s1.say();//说了一句话 s1.setMoney(10_0000_0000); System.out.println(s1.getMoney());//10_原创 2021-01-08 22:28:23 · 77 阅读 · 0 评论 -
day06 面向对象 封装详解
面向对象封装package com.oop.demo04;public class Application { public static void main(String[] args) { Student s1 = new Student(); s1.setName("Yoona"); //方法名,参数名 System.out.println(s1.getName());//s1.getName.sout原创 2021-01-08 17:49:46 · 94 阅读 · 0 评论 -
day05 面向对象 创建对象内存分析
面向对象创建对象内存分析package com.oop.demo03;public class Application { public static void main(String[] args) { Pet dog = new Pet(); dog.name = "wawa"; dog.age = 3; dog.shout();//叫了一声 System.out.println(dog.name);//w原创 2021-01-07 20:52:21 · 69 阅读 · 0 评论 -
day04 面向对象 构造器
面向对象构造器package com.oop.demo02;//一个项目应该只存在一个main方法public class Application { public static void main(String[] args) { // new 实例化了一个对象 Person person = new Person(); System.out.println(person.name);//Yoona Person pers原创 2021-01-07 18:50:47 · 75 阅读 · 0 评论 -
day03 面向对象 类与对象的创建
面向对象类与对象的创建package com.oop.demo02;//学生类public class Student { //属性:字段 String name;//null int age;//0 //方法 public void study() { System.out.println(this.name + "学生在学习"); }}package com.oop.demo02;//一个项目应该只存在一个m原创 2021-01-07 16:58:20 · 205 阅读 · 0 评论 -
day02 面向对象 方法的调用
面向对象方法的调用静态方法和非静态方法package com.oop.demo01;//学生类public class Student { //非静态方法 public void say() { System.out.println("学生说话了"); }}package com.oop.demo01;public class Demo02 { public static void main(String[] args) {原创 2021-01-07 15:00:32 · 89 阅读 · 0 评论 -
day01 面向对象 方法的定义
面向对象方法的定义package com.oop.demo01;import java.io.IOException;//Demo01 类public class Demo01 { //main 方法 public static void main(String[] args) { } /* 修饰符 返回值类型 方法名 (...){ //方法体 return 返回值 } */ public Strin原创 2021-01-06 21:56:26 · 99 阅读 · 0 评论 -
day05 java数组 稀疏数组
java数组稀疏数组 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] = 1; System.out.println("输出原始数组:"); for (int[] ints原创 2021-01-05 07:48:52 · 176 阅读 · 0 评论 -
day04 java数组 Arrays类 冒泡排序
java数组Arrays类public static void main(String[] args) { int[] a = {1, 2, 3, 9000, 1234, 5346, 6, 7}; System.out.println(a);//[I@1b6d3586 //打印数组元素 System.out.println(Arrays.toString(a));//[1, 2, 3, 9000, 1234, 5346, 6, 7]原创 2021-01-05 07:20:57 · 148 阅读 · 0 评论 -
day03 java数组 二维数组
java数组二维数组public static void main(String[] args) { int[][] array = {{1, 2, 3}, {2, 3, 4}, {4, 5, 6}, {6, 7, 8}}; System.out.println(array[0][0]);//1 System.out.println(array.length);//4 System.out.println(array[0].length);原创 2021-01-05 06:35:46 · 160 阅读 · 0 评论 -
day02 java数组 数组的使用
java数组数组的使用For-Each循环public static void main(String[] args) { int[] arrays = {1, 2, 3, 4, 5}; //打印全部数组元素 for (int i = 0; i < arrays.length; i++) { System.out.println(arrays[i]); } System.out.print原创 2021-01-04 12:32:20 · 69 阅读 · 0 评论 -
day01 java数组 声明和创建
java数组声明和创建 //变量类型 变量的名字 = 变量的值 //数组类型 public static void main(String[] args) { //动态初始化 int[] num1;//1.定义 //也行 int num2[]; num1 = new int[10];//创建数组 存放10个int类型的数字 /*同 int[] num1=new int [10];原创 2021-01-04 11:20:43 · 100 阅读 · 0 评论 -
day04 java方法 递归
java方法递归//5! = 5* 4* 3* 2* 1 public static void main(String[] args) { System.out.println(f(5));//120 } public static int f(int n) { if (n == 1) return 1; else { return n * f(n - 1); }原创 2021-01-04 07:00:53 · 85 阅读 · 0 评论 -
day03 java方法 可变参数
java方法可变参数public class Demon04 { public static void main(String[] args) { //可变参数 //在指定方法声明中,在指定参数类型后面加一个省略号 //一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通参数必须在它之前声明. Demon04 demon04 = new Demon04(); demon04.test(1,2,3,4,原创 2021-01-03 08:11:39 · 81 阅读 · 0 评论 -
day02 java方法 重载
java方法重载 public static void main(String[] args) { double m = max(20, 10); System.out.println(m); } //重载由方法的参数类型判断 与返回值无关 //参数列表必须不同 参数个数 类型 排列顺序都可以不同 //返回值可以不同也可以相同 //仅仅返回值类型不同不能构成重载 //名称相同时 编译器会根据参数个数 参数类型逐个匹配原创 2021-01-03 07:18:39 · 87 阅读 · 0 评论 -
day01 java方法 定义 调用
java方法定义 调用什么是方法 /* 方法是解决一类问题步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 */ public static void main(String[] args) { //int sum= add(1,2); // System.out.println(sum); test(); } public static int add (int a原创 2021-01-03 07:18:08 · 85 阅读 · 0 评论 -
day06 java流程控制 打印三角形
java流程控制打印三角形public static void main(String[] args) { //打印三角形 5行 for (int i = 0; i <= 5; i++) { for (int j = 5 - i; j >= 0; j--) { System.out.print(" "); } for (int j = 1; j <=原创 2021-01-02 13:31:18 · 124 阅读 · 0 评论 -
day05 java流程控制 break continue
java流程控制break public static void main(String[] args) { int i = 0; while (i < 100) { i++; System.out.println(i); if (i == 30) break; } System.out.println("123"); }原创 2021-01-02 13:04:57 · 128 阅读 · 0 评论 -
day04 java流程控制 循环结构
java流程控制循环结构while 循环public class WhileDemon01 { public static void main(String[] args) { //计算1到100的和 int i = 0; int sum = 0; while (i < 100) { i++; sum = sum + i; } System.out原创 2021-01-02 12:22:47 · 106 阅读 · 0 评论 -
day03 java流程控制 switch结构
java流程控制switch结构char型 public static void main(String[] args) { char grade = 'C'; switch(grade){ case 'A': System.out.println("优秀"); break; case 'B': System.out.print原创 2021-01-01 16:05:43 · 90 阅读 · 0 评论 -
day02 java流程控制 选择结构
java流程控制选择结构if单选结构public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.nextLine(); //equals:判断字符串是否相等 if (s.equals("Hello")) {原创 2021-01-01 16:04:52 · 82 阅读 · 0 评论 -
day01 java流程控制 用户交互Scanner
java流程控制用户交互Scannernext()public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据。 Scanner scanner = new Scanner(System.in); //加.var 快速打出或者Alt加回车 System.out.println("使用next方式接收:"); //判断用户有没有输入字符串 if原创 2020-12-31 19:40:12 · 178 阅读 · 0 评论 -
day12 java基础 包机制 doc文档
java基础包机制//一般利用公司名倒置作为包名package com.Yoona.operator;//包引用在package下面import com.Yoona.base.Demon01;import com.Yoona.base.*;//全选doc文档package com.Yoona.base;/** * @author Yoona * @version 1.0 * @since 1.8 */public class Doc { String nam原创 2020-12-30 17:45:30 · 112 阅读 · 0 评论 -
day11 java基础 字符串连接符 三元运算符
java基础字符串连接符 int a=10; int b=20; a+=b;//a=a+b a-=b;//a=a-b System.out.println(a);//10 //字符串连接符 + , 出现String,都转化为String输出 //出现在后面 前面先运算 System.out.println(a+b);//30 System.out.println原创 2020-12-30 16:43:54 · 96 阅读 · 0 评论 -
day10 java基础 逻辑运算符 位运算符
java基础逻辑运算符 //逻辑运算符 与 或 非 boolean a= true; boolean b= false; //+号不能少 System.out.println("a&&b:"+(a&&b));//a&&b:false System.out.println("a||b:"+(a||b));//a||b:true //短路运算原创 2020-12-30 08:59:56 · 96 阅读 · 0 评论 -
day09 java基础 一元运算符
java基础一元运算符 // ++ -- 自增 自减 一元运算符 int a = 3; int b = a++; int c = ++a; System.out.println(a);//5 System.out.println(b);//3 System.out.println(c);//5 //幂运算 2^3 很多运算 使用一些工具类来操作 double原创 2020-12-30 07:02:08 · 110 阅读 · 0 评论 -
day08 java基础 二元运算符 关系运算符
java基础算数运算符 //算数运算符 //Ctrl+D:复制当前行到下一行 int a=10; int b=20; int c=25; int d=25; System.out.println(a+b);//30 System.out.println(a-b);//-10 System.out.println(a*b);//200 System.原创 2020-12-30 06:42:53 · 207 阅读 · 0 评论 -
day07 java基础 变量 常量 作用域
java基础变量public class Demon05 { //属性 //实例变量:从属于对象 //如果不自行初始化,这个类型的默认值 0 /0.0 /false //除了基本类型,其余默认值都是null String name; int age; //类变量 static static double salary = 2500; //main方法 public static void main(Str原创 2020-12-29 20:04:15 · 151 阅读 · 0 评论