自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis框架开发(三)

Mybatis框架开发(三)(分页)1. mybatis的分页插件(pagehelper)1.1 数据库分页SQLSELECT * FROM 表 LIMIT nSELECT * FROM 表 LIMIT m,n1.2 PageHelper 官方网站MyBatis 分页插件 PageHelper<dependency> <groupId>com.github.pagehelper</groupId> <artifa

2021-09-03 18:31:21 97

原创 Mybatis框架开发(二)

Mybatis框架开发(二)一、开发流程(详见上一篇)1. maven–>依赖<!-- 定义项目版本 --> <properties> <mysql.version>8.0.25</mysql.version> <druid.version>1.2.6</druid.version> <log4j.version>1.2.6</log4j.version> <junit.ver

2021-08-20 18:30:09 76

原创 Mybatis框架开发(一)

Mybatis框架开发(一)mybatis的开发流程-helloworldmaven项目(jar)配置依赖(POM) <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> &l

2021-08-20 12:52:20 91

原创 Java&JVM虚拟机模型&类加载机制

Java&JVM虚拟机模型&类加载机制一、JVM虚拟机JVM虚拟机中的boolean类型​ 虽然Java虚拟机中定义了boolean类型,但是实际上在Oracle JVM虚拟机中使用的是int类型来编译的。JVM虚拟机模型如图所示:编译好的class文件通过类加载将一些信息存入JVM虚拟机中在运行时会产生多个线程,每一个其中包括三个部分pc regsiter表示注册表,每一个线程都有自己的regsiter,并且在任意时间一个线程都只有一个方法在执行,计数器会存

2021-08-09 22:37:22 917

原创 http和https的差别

http和https的差别一、基本概念HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。二

2021-08-07 22:13:58 148

原创 java练习题(二)

java练习题(二)比较Innodb和Myisam引擎的区别。描述MVCC事务的四大特性是什么?请分别描述mysql的索引的底层树结构,为什么使用此种结构?Innodb和MyIsam的B+树实现有什么不同?简述聚簇索引和非聚簇索引的区别,Innodb使用哪种索引?描述更新一行数据的过程。描述jdbc开发的基本流程。简述数据表设计的三大范式1.##### 比较Innodb和Myisam引擎的区别。InnoDB支持事务,MyISAM不支持,这一点是非

2021-08-03 15:35:32 70

原创 java练习题(四):

java练习题(四):列举java的常用容器(集合)List和Set的区别,不可重复是什么意思?HashMap是否线程安全,如果想用线程安全的HashMap怎么做?编写一个单例模式,常见的单例有哪些,分别列举?有哪些排序算法,写出快速排序算法的实现给一个二叉树,使用递归和非递归完成先序,中序和后序的遍历数据库的事务的四大特性及数据库的隔离级别TCP的三次握手和四次挥手GET/POST的区别,除了GET/POST还有哪些?1 .列举java的常用容

2021-08-03 15:15:01 104

原创 Java线程池总结

Java线程池总结一、线程池的概念及优势​ 线程在使用时需要创建,使用完需要销毁,而创建、销毁线程会消耗系统资源(内存、CPU),重复操作会导致大量资源浪费。从而就需要使用池化技术----线程池,减少线程对象的创建、回收次数,提高服务效率。线程池具有以下几点优势:1.降低资源销毁:通过重复利用已经创建的线程,降低线程创建和销毁造成的消耗2.提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行3.防止服务器过载不会形成内存溢出,或者CPU耗尽4.提高线程的可管理性线程是稀缺

2021-07-27 16:34:18 144

原创 MySQL锁机制总结

MySQL锁机制总结一、锁的概念锁是计算机协调多个进程或线程并发访问的某一资源的机制。在数据库中,数据是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。相对于不同的数据库来说,MySQL的锁机制相对简单,锁是Mysql在服务器层和存储引擎层的的并发控制。对于使用不同的引擎来说也是不同的。二、MySQL锁的类型共享锁(S)又称读锁:允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。**排他锁(X

2021-07-20 14:46:51 63

原创 Linux下docker配置及在docker下安装mysql

Linux下docker配置及在docker下安装mysql文章目录Linux下docker配置及在docker下安装mysql1.安装docker2.在docker下安装mysql3.在docker容器中运行mysql1.安装docker安装docker的bash命令yum install docker检验docker是否安装docker version启动docker命令基于CentOs7.xsystemctl start docker未配置镜像由于有墙,所以使用a

2021-07-12 00:10:35 133

原创 二叉树的遍历

二叉树的遍历1.递归写法先序遍历public void preOrder(TreeNode root) { if (root == null) return; System.out.print(root.val + " "); preOrder(root.left); preOrder(root.right); }中序遍历public void inOrder(TreeNode root) { if (root == null) return; preOrd

2021-07-09 17:16:51 57

原创 TCP连接的三次握手和四次挥手

TCP连接的三次握手和四次挥手所谓三次握手是指建立一个TCP连接时,需要进行3次交互。四次挥手指的是断开TCP连接时,需要进行4次交互。TCP连接传送的为一个报文,其结构如下:序号:Seq(Sequence Number)序号占32位,用来标识从计算机A发送到计算机B的数据包的序号,计算机发送数据时对此进行标记。确认号:Ack(Acknowledge Number)确认号占32位,客户端和服务器端都可以发送,Ack = Seq + 1。标志位:每个标志位占用1Bit,共有6个,分别为 URG、

2021-06-25 15:54:18 207

原创 Java线程总结(一)

Java线程总结(一)1.线程的生命周期1)创建(3种方式)a.继承Thread类public class ThreadDemo1 extends Thread{ @Override public void run() { for(int i=0;i<10;i++) { System.out.println(i); } } }b.实现Runnable接口public class ThreadDemo2 implements Runnable { @O

2021-06-09 17:25:18 74

原创 Java集合总结

Java集合总结一.集合类的框架图二.常用的API1.List集合add(E e)方法ArrayList初始容量大小设置为一个空数组,在需要调用add()方法时,计算内部数组的容量是否是0,若是0则返回一个大小是10的数组。如果当前数组的容量+1>数组长度时,进行数组扩容,容量为原来的1.5倍,使用的是oldCapacity >> 1+oldoldCapacity 创建一个新数组,将原来的数组拷贝过去。其中数组的最大容量是Integer.Max_Value-8。Vector的

2021-05-27 14:17:18 57

原创 Java基础学习-----------static和final关键字总结

Java基础学习-----------static和final关键字总结static关键字使用static修饰的方法、属性,存储在jvm中的方法区,可以被其他进程共享,在运行过程中当中会优先加载,且类加载只会初始化一次。在类加载中初始化顺序:public class A { public int x=3; { System.out.println("A的代码块"); } static { System.out.println("A的静态代码块"); } publi

2021-05-12 13:45:13 94 1

原创 Java常用类-----日期类

Java常用类-----日期类Java8之前的有Date,Calendar,SimpleDateFormatJava8之后的有LocalDate、LocalTime、LocalDateTime1.Date类Date d=new Date();long x=d.getTime()//以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数 数据类型为long2.Calendar类定义对象格式:Calendar c =

2021-05-08 13:35:34 109 1

原创 Javap命令以及字符串中==与equals区别

Javap命令以及字符串中==与equals区别javap 是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。使用javap -v XXX.class可以看见代码具体实现过程其中代码是用记事本编写,生成.class文件判断c==d结果是false其原因就如下源码所示:第6行开始,首先是使用了Stringbublider定义了一个字符串对象,然后使用append()方法在一个空字符串后加上了a,再使用append(

2021-04-28 12:08:48 95 1

原创 java字符串

Java字符串知识点整理(字符串概念、常量池、API、正则表达式)1.字符概念:由多个字符(char型)拼接而成的字符序列2.常量池:定义一个字符串采用String s=new String(“Hello”);字符串名s定义在栈当中,而Hello则是定义在堆当中,s通过JVM指向堆中的Hello这个字符串对象。如图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6VxfKyPA-1619522244611)(C:\Users\APiJu\AppData\Roa

2021-04-27 19:17:45 93

原创 Java---方法基础概念

Java—方法基础概念1.什么是方法方法就是相当于数学中的函数,但是数学函数只管输入指定数据,输出值。Java方法则需要具体的实现过程。2.方法的好处:让代码具有模块化、代码具有复用性以及应用简单3.方法构造时采用形参,在调用方法的时候则传递的是实参方法名称在内存中的储存方式:比如add(int a ,int b)在内存中时add _int_int,其他的以此类推方法中参数的不定参数public void add(int…a){} 实际上传入了一个不定长的数组,使用时候可以直接当作数组4

2021-04-23 15:03:28 78

原创 任意数的运算,还能只能是简单的运算符运算吗?

任意数的运算,还能只能是简单的运算符运算吗? 数据长度超过了long型的范围怎么样计算? double型数据怎么样准确的计算,不损失精度的计算?需要借助Java中的BigDecimal包import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;import org.junit.Test;public class test1 {// @Test /** * 任意数求和 double

2021-04-16 14:32:59 57

原创 三种简单的排序算法

总结的三种最简单的排序算法(java实现):冒泡排序、选择排序和插入排序(默认都是从大到小排序)冒泡排序:算法思想:首先确定将数组## 标题的第一个元素与后一个元素比较,如果前一个比后一小则交换顺序。依次类推需要注意使用两层循环,第二层循环的限制条件是数组长度-1-循环次数(i),这里为什么是因为每次比较前面的数都已经排好顺序了,循环一次排好一个数,而后面比较的话需要吧已经排好的减去,因此这里是(-i)代码:void test1() { Scanner sc = new Scanner(Sys

2021-04-16 14:12:34 320 1

转载 多线程

多线程35.并行和并发有什么区别?并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。36.线程和进程的区别?进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线

2021-04-10 11:19:10 84

转载 容器集合

容器集合18.java 容器都有哪些?collection集合:list queue setmap:hashmap treemap19.Collection 和 Collections 有什么区别?java.util.Collection是一个集合接口,提供了集合接口的各种方法collections则是集合类的一个工具类,提供了静态方法20.List、Set、Map 之间的区别是什么?21.HashMap 和 Hashtable 有什么区别?hashmap去掉了hashtable的con

2021-04-10 11:17:55 134

原创 Java 基础

Java 基础1.JDK 和 JRE 有什么区别?java development kit:java开发工具包,提供开发环境和运行环境java runtime environment:java运行环境,为java的运行提供了所需的环境2.== 和 equals 的区别是什么?==基本类型:比较的是值是否相同;引用类型:比较的是引用是否相同;equals不重写的话本质上就是==,其源码就是用的==总结来说== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默

2021-04-10 10:10:57 2572 17

空空如也

空空如也

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

TA关注的人

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