自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 calss常量池、常量池、运行时常量池和字符串常量池

最近在看jvm,发现了好多常量池,搞不清区别,查看了好多篇博客,简单总结一下。Class常量池我们写的每一个Java类被编译后,就会形成一份class文件;class文件中除了包含类的版本、字段、方法、接口等描述信息外,还有一项信息就是常量池(constant pool table),用于存放编译器生成的各种字面量(Literal)和符号引用。常量池常量池是Class常量池中的一部分,可以看作是一张表、虚拟机指令根据这张表找到吆执行的类名、方法名、参数类型、字面量等类型。运行时常量池Class常

2020-08-21 18:00:29 217

原创 redis的持久化

Redis官方提供了两种持久化的方式来将数据存储到硬盘上快照(Snapshot):保存这一时刻的数据状态AOF(Append only File):之追加日志文件,将所有的redis写命令记录到日志文件中。快照持久化这种方式可以将某一时刻的所有数据写到的硬盘上,当然也是redis默认开启的一种方式,因为生成的文件是.rdb文件,所以又可以叫做rdb方式。快照的生成方式1.客户端方式生成:BGSAVE和SAVEBGSAVE:客户端可以使用这个命令来创建一个快照,放接受客户端BGSAVE时,r

2020-08-18 14:31:51 248

原创 spring工厂和bean生命周期

spring工厂创建对象创建简单对象可以直接通过new构造方法创建对象,比如UserDao、UserService创建复杂对象值得是不通过直接的new的方式创建对象。比如Connection、SqlSessionFactory。spring创建复杂对象实现FactoryBean接口,重写其中的三个方法public class MyFactory implements FactoryBean {//用于书写创建复杂对象的方法,并返回 @Override public Obj

2020-08-17 08:15:09 370

原创 python中的几种数据类型

剑指Offer 24给定一个二叉树和一个目标和,判断该是否存在树的根节点到叶子节点的路径,这条路经上的所有经过的节点和等于目标和思路:用递归的思想,深度优先的思想,先判断经过节点的所有左子节点的和,在判断右子节点,如下图先经过,2,4,11,7,再判断5、4、11、2,再判断5、4、一次判断,最终到达所有的子节点。如果存在,就返回true,没有就返回false。public boolean solution(TreeNode root , int sum){ if (root==

2020-08-15 21:14:18 324

原创 springboot整合shiro

剑指Offer22从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:定义一个链表和一个数组,链表用来存放二叉树的节点,数组用来存放打印的结果,先将根节点放入链表,然后将其弹出,并放入数组中,如果弹出的节点左子节点不为空,将左子节点放入链表中,如果弹出的节点右子节点不为空,放入链表中,然后一直循环,直到链表为空。public class Offer22 { public static ArrayList<Integer> solution(TreeNode root){

2020-08-13 22:03:47 338

原创 JWT的基础使用

剑指Offer17输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路:将这个矩阵从外层进行遍历,先算出需要遍历几层,然后再根据二维数组的性质,遍历每层的上、右、下、左四层的元素。public static ArrayList<Integer> solution(int[

2020-08-11 21:12:11 308

原创 网络编程中TCP/UDP编程的实例

剑指Offer 16socket编程示例1.利用scoket进行字符传递,并显示在控制台中客户端import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;//客户端public class ClientTest { public static void main(String[] args) { Socket

2020-08-09 10:01:35 170

原创 剑指offer14、15

Offer 14输入一个链表,反转链表后,输出新链表的表头。思路分析,定义三个指针 pre mid behind,将pre指向链表的头节点,mid指向head.nex,behind指向mid.next,将mid.next指向pre,然后江三个指针后移一位,将mid.next指向pre,直到behind.next为null。//输入一个链表,反转链表后,输出新链表的表头。public class Offer4 { public static ListNode solution(ListNode

2020-08-07 19:52:32 135

原创 springboot集成jsp页面

1.以前我们在创建web项目时j,都是把jsp放在wenapp的页面下,如果在springboot页面下也是一样。创建一个webapp包2.此时webapp只是一个普通的文件夹需要将其设置成web资源文件夹在模块中找到你的webapp文件夹然后就变成3.添加解析jsp的依赖<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-em

2020-08-04 17:46:29 592

原创 cookie和session

剑指Offer13输入一个链表,输出该链表中倒数第k个结点。//输入一个链表,输出该链表中倒数第k个结点。public class Offer13 { public static ListNode solution( ListNode head , int k){ if (head==null||k==0){ return null; } //头指针 ListNode front = head;

2020-08-04 15:42:43 88

原创 前后端分离springboot和vue传参的400问题

今天用spring boot和vue做一个小项目在用axios向后台传参是总是传不过去axios.post("http://localhost:8080/user/register?code="+this.code+"&key="+this.key,this.user).then((res)=>{ console.log(res.data); }).catch(function (err) {

2020-07-30 15:19:25 1644

原创 Springboot与vue的前后端分离的demo

这几天学习了前端框架vue就使用springboot和vue做了一个小demo用户的增删改操作。pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac

2020-07-29 11:52:59 487

原创 JVM学习之垃圾回收器

剑指 Offer12输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。(保证数组的稳定性)//输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,// 所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。public class Offer12 { public static void main(String[]

2020-07-27 22:22:04 169

原创 垃圾回收相关概念

剑指Offer 11输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。//输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。public class Offer11 { public static void main(String[] args) { System.out.println(new Offer11().solution(7)); } public int solution(int n){ i

2020-07-26 21:17:19 128

原创 JVM学习之字符串常量池和垃圾收集算法

今天学习了JVM中的字符串常量池和集中垃圾手机算法,收获很大。剑指Offer 9用2×1的小矩形去填充2×n的矩形,问共有多少种填充的方法?//用2×1的小矩形去填充2×n的矩形,问共有多少种填充的方法?public class Offer9 { public static void main(String[] args) { Offer9 offer9 = new Offer9(); int i = offer9.rectCover(9);

2020-07-25 21:48:57 679

原创 JVM学习之方法区(元空间)

剑指 Offer 9一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。//青蛙跳台//一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。public class Offer9 { public static void main(String[] args) { Offer9 offer9 = new Offer9(); int i = off

2020-07-25 07:53:12 586

原创 JVM学习之堆(heap)

今天继续学习JVM的第二天,主要学习了JVM运行时数据区的堆,也是JVM很重要的内容,宋红康老师讲解的非常好,很清晰。明天继续学习JVM中的方法区(也不叫方法区了,被元空间取代了)。剑指Offer 7 斐波那契数列大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39//大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39public class

2020-07-24 08:27:58 324

原创 JVM的类加载器、双亲委派机制、程序计数器和虚拟机栈

参考了尚硅谷韩顺平老师的JVM视频,将的很棒,也很详细。今天学习了类加载的过程,一些类加载器,双亲委派机制,运行时数据区中的程序计数器(PC寄存器)和虚拟机栈。今天学到了很多,明天继续加油吧!!!剑指offer 6:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0public

2020-07-22 22:11:12 162

原创 mysql 知识梳理和开始jvm的学习

每天一道 剑指offer5.用两个栈实现一个队列栈:先进后出队列:先进先出队列push操作:将元素放入stack1中。队列pop操作:如果stack2中没有元素,将stack1中的元素放入stack2中,再stack2.pop();如果stack2中有元素,直接stack2.pop();//用两个栈实现队列public class Offer5 { Stack<Integer> stack1 = new Stack<>(); Stack<Inte

2020-07-21 22:03:51 232

原创 剑指offer 重建二叉树

/** * 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 * 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 */public class Offer4 { public static void main(String[] args) { int[] pre = {1,2,4,7,3,5,6,8}; int[] i.

2020-07-20 21:59:29 99

原创 剑指offer2,3

剑指offer 2替换空格实现一个函数,将一个字符串中的每一个空格替换成“%20”;例,当字符串为“We Are Happy”,则经过替换之后的字符串为“We%20Are%20Happy”//将字符串的每个空格替换成 %20 例:将“We Are Happy”替换成“We%20Are%20Happy”public class Offer2 { public static void main(String[] args) { String stringBuffer = repl

2020-07-19 17:30:35 88

原创 复习java基础(四)

每天学习一道《剑指offer》的题目剑指offer第一道题:在一个二维数组中(每一个数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的一个二维数组和一个证书,判断数组中是否有该整数。//上下左右有序的二维数组中查找数public class Offer1 { public static void main(String[] args) { int[][] a = {{1,2,3,4},{2,6,8,9},{3,

2020-07-18 21:33:53 216

原创 复习java知识(三)

上午学习了一些关于算法之类的题目,突然想到io下面有个File类就有穿插着复习了一下,复习了昨天的内容。下午继续学习基础知识。知识点好多,感觉头发保不住了。明天继续。关于java.io.File的方法import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;public class CatalogTest { public static void main(String[] args) {

2020-07-17 20:53:06 200

原创 复习java基础知识(二)

上午复习了,数据结构中的树,树的三种遍历方式,树的最大值,最小值的查找,层序遍历等等。还有复习了二叉树,二叉查找树,平衡二叉树,红黑树,B树,B+树。二叉树的相关方法public class BinTreeDemo { //二叉树中Node的个数 private int N; //根节点 private Node root; //获取Node的个数 public int size(){ return this.N; }

2020-07-16 22:14:05 115

原创 复习java基础知识(一)

今天上午自己按照网上的教程做了一个个人博客,还是很开心的,终于有自己的博客了,所以复习java基础的就只有今天下午了。下午主要是看了很多概念性的东西,结合牛客网上的知识点,自己又整理了一下,把一些问题的答案摘抄下来(自我感觉回答好的一些答案)。以方便后来整理,学习。1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?java虚拟机(jvm)是可以执行java字节码的虚拟进程。 准确的来说,java的跨平台指的是java源文件经过javac编译器编译成的二进制.class字节码的跨平

2020-07-15 20:57:24 215

原创 复习String类型常用的api

String的常用apipublic class StringTest { public static void main(String[] args) { String s1 = new String("zhangsan"); String s2= new String("zhangsan"); /** * 问:一共创建了几个对象? * * 答:三个,方法区字符串常量池中有一个,堆内存中有两个S

2020-07-14 16:35:57 212

原创 复习希尔排序,归并排序和快速排序

希尔排序希尔排序是插入排序的优化,添加了增长量的概念,将相距某个“增量”的记录组成一个子序列,在子序列中进行插入排序,然后减小增量,重复上述操作,继续进行排序,直至增量为一。对于增量,我们按照每次排序为数组的长度除以三减一(即 h=a.length/3-1 )每次的除以2,知道h为1.分析1.选定一个增量为h,以h为依据进行分组2.每组进行插入排序3.减小h的值,重复操作代码实现public class ShellTest1 { public static void main(

2020-07-14 15:02:59 814

原创 复习冒泡排序,选择排序和插入排序

冒泡排序冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果左边大于右边则交换,看起来像冒泡一样分析如下图:将3与44比较,3比44小,则不用交换,再用44与38比较,44大于38,交换,以此类推。代码的实现public class Bubble { /* 对数组a中的元素进行排序 */ public static void sort(int[] a){ //多少个元素参与冒泡 for (int i = a.length-1 ;

2020-07-14 09:51:17 167

空空如也

空空如也

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

TA关注的人

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