自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 java学习日记day11---基础程序练习之选择排序

class XuanZe { public static void main(String[] args) { int[] arr = {99,66,88,11,33,22,55}; //打手逐个上台 for(int i=0;i<arr.length-1;i++){ //当前位置打手之后的打手,依次上前挑战 for(int j=i+1;j<arr.length;j++){ if(arr[j]<arr[i]){ int temp = arr[j];

2020-10-08 14:46:12 22

原创 java学习日记day11---基础程序练习之选择排序

class XuanZe { public static void main(String[] args) { int[] arr = {99,66,88,11,33,22,55}; //打手逐个上台 for(int i=0;i<arr.length-1;i++){ //当前位置打手之后的打手,依次上前挑战 for(int j=i+1;j<arr.length;j++){ if(arr[j]<arr[i]){ int temp = arr[j];

2020-10-08 14:31:30 24

原创 java学习日记day11---基础程序练习之冒泡排序

class Maopao { public static void main(String[] args) { int[] arr = {99,66,88,11,33,22,55}; //比较趟数,arr.lenth-1 for(int i=0;i<arr.length-1;i++){ //第i+1趟比较的次数,j<arr.length-1-i for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]

2020-10-08 11:22:53 33

原创 java学习日记day11---for循环练习之Clock类

class Clock { public static void main(String[] args) throws Exception{ for(int hour=0;hour<24;hour++){ for(int minute=0;minute<60;minute++){ for(int second=0;second<60;second++){ for(int milliSecond=0;milliSecond<1000;milliSecond

2020-10-08 10:11:19 10

原创 java学习日记day10---idea中debug断点调试

条件断点for循环体内断点,右键断点,输入条件值

2020-10-07 10:24:23 6

原创 java学习日记day09---idea快捷键之向下复制一行

快速复制当前行到下一行 ctrl+d不同版本可以到keymap里去设置补充一个很好用的shift+enter 将光标从当前行跳到下一行

2020-10-06 20:12:12 78

原创 java学习日记day09---java程序三种结构

1 顺序结构默认情况下,java程序按照顺序结构自上而下执行,方法调用时是将代码插入到当前执行的位置,然后自上而下执行2 分支结构if 语句switch 语句3 循环结构for循环whiledo while

2020-10-06 10:46:18 5

原创 java学习日记day07---反射之暴力反射

Student类有一个private构造方法private Student(String name) { this.name = name; }通过该构造方法暴力反射创建对象 Class<?> c = Class.forName("com.wh.demo11.Student"); Constructor<?> constructor = c.getDeclaredConstructor(String.class); //

2020-10-04 16:43:46 14

原创 java学习日记day03---Stirng串下标从0开始

“HelloWorld”.subString(2,5);输出结果:lloString字符串下标是从0开始计算的

2020-09-30 19:03:59 14

原创 java学习日记day03----StirngBuffer和StringBuilder

StringBuffer 线程安全StringBuilder 非线程安全StringBuilder性能高于StringBuffer

2020-09-30 19:02:10 9

原创 java学习日记day03----String类字符串拼接耗费内存

class Demo04{public static void main(String[] args) {String s1 = “我爱学习!”; //"“开辟了一块堆内存,s1在栈中定义,指向该内存String s2 = “学习使我快乐!”; //”“开辟了一块堆内存,s2在栈中定义,指向该内存String s3 = s1+s2; //拼接后的字符串”"又开辟了一块堆内存,s3指向该内存//这种拼接方式,一共开辟了三块堆内存,如果循环拼接一万次,则要开辟一万

2020-09-30 19:01:36 28

原创 java学习日记day03---取余结果的正负号取决于除数

System.out.println((-123)%10); //-3System.out.println((-123)%(-10)); //-3System.out.println((123)%(-10)); //3//取余结果的符号和除数的符号一致

2020-09-30 19:00:00 55

原创 java学习日记day03----a++和++a

a++ 先取值,再自增++a 先自增,再取值int a=1;System.out.println(a++); //1System.out.println(a); //2int b=1;System.out.println(++b); //2System.out.println(b); //2

2020-09-30 18:59:08 62

原创 java学习日记day03---字母数字ascii编码

十进制 二进制0-9 48—57 0011 0000—0011 1001A-Z 65—90 0100 0001—0101 1010a-z 97—102 0110 0001—0111 1010

2020-09-30 18:58:03 1626

原创 java学习日记day03---变量就是一段内存空间

定义一个变量,就是向内存申请一段空间对于基本数据类型byte 1字节short 2字节int 4字节long 8字节float 4字节double 8字节boolean 1字节char 2字节(c语言占1字节)对于引用数据类型People p; 也是向内存申请一块空间,栈内存中存指针地址,堆内存中存储值...

2020-09-30 18:56:44 43

原创 java学习日记day03---java数据类型之八大基本数据类型

八大基本数据类型byte,short,int,long,float,double,boolean,char整数类型默认是int小数类型默认是doublelong类型定义时要加Lfloat类型定义时要加FDemobyte a = 100;short b = 5000;int c = 100000;long d = 1234567L;float e = 12.34F;double f = 23.23;char g = ‘王’;boolean flag = true;...

2020-09-30 18:55:22 6

原创 java学习日记day02---java8之后接口的组成

之前接口组成常量 public static final抽象方法 public abstractjava8之后1 接口中可以实现default方法Demopackage com.wh;public interface MyInterface { void show1(); void show2(); default void show3(){ System.out.println("show3..."); }}实现类在实现接口时,def

2020-09-29 21:09:03 4

原创 java学习日记02---jdk环境变量的意义

配置jdk时,需要两个环境变量path:告诉操作系统执行命令时到哪个目录里寻找。例如java,javac都是要执行的命令。但是如果不在bin/目录下执行,操作系统找不到java,javac在哪,需要把其所在目录/bin配置到path中,这样无论在哪执行命令,操作系统都会去path里配置好的目录,才能找到java,javac…命令。classpath:告诉jvm类加载器,要去哪里加载.class文件。.; 在当前目录加载类,加载写的类 %JAVA_HOME%\lib\dt.jar;%JAVA_HO

2020-09-29 19:45:09 7

原创 java学习日记day02---原码,反码,补码

正数原码,反码,补码都一样 最高位是符号位, 0代表正数,1代表负数负数原码->反码:除最高位外,所有位按位取反例如:10000000 01100100 -> 11111111 10011011反码->补码:反码+1例如:11111111 10011011 -> 11111111 10011100计算机中,真正使用运算的是补码,原码和反码都是计算出补码的中间状态用补码计算主要就是因为计算机中只能进行加法运算,两个二进制正数原码相加没有问题,但是两个二进制负数原码

2020-09-29 19:34:54 15

原创 java学习日记day02---java语言是怎么实现的

java <— c/c++ <— 汇编 <— 机器语言(数字电路,0和1)java底层是c和汇编实现的什么是java语言?就是创始人詹姆斯.高斯林用c语言和汇编制定好的一种制定好语法规则的语言。它的底层是c+汇编实现javaApi(类库)大部分是由java语言实现的。有些涉及到底层的直接使用了c或者汇编实现。比如Thread类涉及到操作系统对cpu资源的调度,JDK8的HashMap将二进制发挥的淋漓尽致...

2020-09-29 11:00:34 6

原创 java学习日记day02---jdk下载---x86与x64的选择

x86 32位x64 64位查看操作系统是32位还是64位,下载对应版本

2020-09-29 10:58:28 6

原创 java学习日记day01---tomcat startup启动中文乱码

tomcat/conf/logging.properties文件java.util.logging.ConsoleHandler.encoding = UTF-8将 UTF-8 修改为 GBK

2020-09-29 10:54:00 4

原创 java学习日记day01---java关键字

转载 https://blog.csdn.net/weixin_30567471/article/details/99981989访问控制private,default,protected,public类、方法、变量の修饰符abstract,class,extends,final,implements,interface,native,new,static,strictfp,synchronized,transient,volatile,const,assert程序控制语句break,conti

2020-09-29 10:46:43 10

原创 java学习日记day01--java类单继承多实现

java中规定类只能单继承,即一个类只能有一个父类。抽象类也是单继承接口多实现,一个类可以实现多个接口

2020-09-29 10:33:54 5

原创 java学习日记day01---lambda表达式

//内部类普通写法class Myrunnable implements Runnable{@Overridepublic void run() {System.out.println(“线程启动…”);}}new Thread(new Runnable() {@Overridepublic void run() {System.out.println(“线程启动…”);}}).start(); //匿名内部类 new Thread(new Runnable() {

2020-09-29 10:20:49 21

原创 @SpringBootApplication原理分析

@SpringBootApplication是可以将一个类标注为springboot导入类。标注该类之后,没有web.xml文件,DispatcherServletAutoConfiguration没有配置,但是却可以直接访问controller,项目没有配置tomcat,却可以直接部署到tomcat。@SpringBootApplication如此强大,它是怎么做到这些的?以下“–>”都代表进入查看源码分析@SpringBootApplication–>三个核心注解@SpringBoot

2020-08-04 12:07:18 214

原创 BufferedReader的readLine()方法读取不到换行和回车时会阻塞!而不是返回null!

在做一客户一线程通信的例子中见了一个大坑!这是clientThread的里的接收客户端发来消息的一个while循环。第一次看这个循环时总觉得有问题。误以为当客户端发来一条消息时。clientThread里的这个while语句把这条消息读完之后,就会返回null,然后循环结束。那么问题来了?循环结束后,整个run()方法也就结束了。之后该线程对象就释放了?服务端是怎么做到第二次读取这个客户端发...

2020-05-02 17:39:59 929

原创 JVM方法内存分析

JVM主要有三大内存区栈,堆,方法区调用方法时,方法进栈(压栈)方法执行结束,方法出栈(弹栈)

2020-04-12 15:45:36 12

原创 MyBatis中SqlSession的getMapper()方法实现DAO接口的连接逻辑

MyBatis中SqlSession的getMapper()方法实现DAO接口的连接逻辑学习了MyBatis之后,知道SqlSession.getMapper()方法可以帮我们自动实例化DAO层接口,那么是如何实现的呢?之间的连接逻辑是什么,就是因为DAO层接口名和xml映射文件名一致吗?那么把DAO层接口名修改下,看看和xml映射文件名不一致的情况下会怎样开始测试测试一:接口名和映射文件...

2020-04-07 17:26:05 249 1

原创 ThreadLocal类的使用

听课看到老师用到ThreadLocal类,误以为这是个线程类,听的晕头转向,后来查文档和资料后才发现。**ThreadLocal类是用来存放线程局部变量的!**来记录下ThreadLocal类的作用ThreadLocal类是用来存放线程的局部变量的,比如说我们实例线程ThreadA,可以在该线程中用ThreadLocal的**set()方法为该线程定义一个变量,用get()**方法获取该变量,...

2020-03-08 21:02:40 107

原创 MyBatis框架入门---映射关系实现过程及原理(Mysql+Idea版)

1.数据持久化要用MyBatis框架,首先要了解数据持久化技术,程序在内存中是瞬时存在的,数据库里的信息是持久存在的,通过ORM(Object/Relational Mapping)映射,让对象的属性信息通过一种规范与数据库里的信息实现一一对应。一般将类名与表名一致,类属性与表字段(列)一致,类属性的数据类型要和字段类型一致,这样,对象的信息就可以持久存在数据库中了ORM的理解:O:obje...

2020-03-07 21:21:50 2705

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除