- 博客(70)
- 资源 (3)
- 收藏
- 关注
原创 一个列子让你弄懂SpringBoot实现后台框架的搭建
首先项目搭建 首先项目基于idea来写的,下面演示项目搭建d 首先项目搭建 记住Application文件一定要在根目录底下不然程序会运行不起来的 然后开始新建包。 constant :常量包,存放一些常量数据,如定义服务器响应状态码。 controller: 控制器,存放各种控制器,来提供数据或...
2018-07-31 23:50:21 16449 1
原创 一个例子让你弄懂回调和监听模式的用法
首先还是老套路,先弄明白回调和监听者模式。(回调在我上篇分享已经提到过了,不懂的可以翻阅我写的点击打开链接(一个能让你一辈子不会忘记的例子))。 监听者模式定义(这里实现的是一个简单的监听模式):监听器模式是对某种共有操作的监控。当此操作执行时对此操作作相应处理。 监听模式实现步骤: 定义我们的监听器 抽象一个方法用于处理回调结果
2018-01-06 14:25:51 14820 7
原创 详解java的回掉函数与接口
相信很多人都是听一些大牛说,用回调函数,接口,听起来是挺高大上的,我去这个东西是什么呀?很多人去找网上的官方的帖子,然后看了半天还是一脸蒙蔽,什么都没学会。所谓回调:就是一个类要调用另一个类的方法,当另一个类的方法执行完毕的时候反过来调用了上一个类的方法。而且,回调经常本使用到线程中,java的线程确实很复杂,这里就以回调来简单提一下,是不是还是有点拗口,下面举个例子就可以清楚的表述了。
2017-11-29 21:54:48 4139 4
原创 JVM学习总结六:补充面试题总结
六、补充面试题总结1.JVM调优1.调优参数-Xms:设置初始堆大小;-Xmx:设置最大堆大小;2.设置新生代和老年代的比例-XX:NewRatio:设置年轻代和老年代的比例;3.设置伊甸园区和幸存者区的比例-XX:SurvivorRatio=n;4.设置永久代/元空间的大小-XX:permSize;-XX:permMax;-XX:metaSpaceSize;-XX:metaSpaceMax;5.设置垃圾回收器-XX:useG1GC;-XX:useCMSGC;6.打
2021-06-05 19:41:24 580 1
原创 JVM学习总结五:垃圾回收(☆)
文章目录五、垃圾回收(☆)1.垃圾回收概述1.什么是垃圾?2.为什么需要GC?3.垃圾回收的主要区域2.垃圾回收相关算法判断对象存活方式:**引用计数算法**和**可达性分析算法**1.标记阶段(表明什么对象需要回收)1.引用计数算法2.可达性分析算法(根搜索算法)3. 可以被当做GC Roots的元素有哪些?(重点是堆外保存堆内对象的地址的那些区域)2.标记阶段(表明什么对象需要回收)1.什么是对象的finalization机制2.虚拟机中的对象有哪几种可能的状态(生存还是死亡)?3. 判断一个对象是否可
2021-06-05 19:40:37 1592 1
原创 JVM学习总结四:执行引擎(☆)
文章目录四、执行引擎(☆)1.执行引擎概述java是半编译半解释型语言1.作用2.结构3.执行过程2.java代码的编译和执行的过程1.java代码编译和执行的过程2.为什么java是半编译半解释语言1.原因2.什么是编译型语言,什么是解释型语言?3.什么是模板解释器、字节码解释器(前提都是直接读取的.class文件)4.执行引擎执行字节码的3种方式5.即时编译器(JIT,即时编译器生成的代码就是给模板解释器用的)6.即时编译触发的条件:热点代码(存放在方法区)7.LRU算法(缓存淘汰算法)8.即时编译器是
2021-06-05 19:39:33 618 1
原创 JVM学习总结三:运行时数据区(☆)
三、运行时数据区(☆)1.概述:其中:方法区和堆是线程共享的;程序计数器和本地方法栈及虚拟机栈都是每个线程一份2.程序计数器1.程序计数器作用用于存储下一条字节码指令的地址,执行引擎执行完当前指令,根据程序计数器的地址执行下一条指令。2.程序技术器的特点?线程私有:每个线程都有自己的程序计数器;当前方法:任何时间一个线程都只有一个方法在执行,程序计数器会存储线程当前执行方法的Jvm指令的地址。程序计数器的特点:唯一一个没有OOM的内存区域3.为什么需要使用程序计数器来记录当前线程的
2021-06-05 19:38:43 264 1
原创 JVM学习总结二:类加载子系统(☆)
文章目录二、类加载子系统(☆)1.作用:2.类加载分为哪些过程:3.类加载各阶段的作用:4.简单描述一下()方法?补充:Java中(静态)代码块、(静态)变量的执行顺序5.类加载器是什么?6.类加载器的分类:7.双亲委派模型1.双亲委派模型的工作过程:2.双签委派模型的优势:8.破坏双亲委派模型1.双亲委任模型时如何实现的?2.破坏双亲委派模型3.Tomcat 的类加载器是怎么设计的?1.Tomcat 如果使用默认的类加载机制行不行?2.Tomcat 如何实现自己独特的类加载机制?二、类加载子系统(☆)
2021-06-05 19:37:39 123 1
原创 JVM总结一:概述
文章目录一、JVM概述0.JVM作用:1.jvm的位置2.Jvm的整体结构(HotSpot虚拟机)3.Java代码的执行流程4.jvm的运行周期一、JVM概述0.JVM作用:①:将.class字节码文件生成为操作系统指令,传递给操作系统后通过计算机运行。1.jvm的位置2.Jvm的整体结构(HotSpot虚拟机)3.Java代码的执行流程首先java程序经过前端编译器生成.class字节码文件;虚拟机将字节码文件生成为对应的操作系统指令操作系统处理成计算机能够运行的指令4.jv
2021-06-05 19:36:29 86
原创 JVM完全解析(☆)
文章目录一、JVM概述0.JVM作用:1.jvm的位置2.Jvm的整体结构(HotSpot虚拟机)3.Java代码的执行流程4.jvm的运行周期二、类加载子系统(☆)1.作用:2.类加载分为哪些过程:3.类加载各阶段的作用:4.简单描述一下()方法?补充:Java中(静态)代码块、(静态)变量的执行顺序5.类加载器是什么?6.类加载器的分类:7.双亲委派模型1.双亲委派模型的工作过程:2.双签委派模型的优势:8.破坏双亲委派模型1.双亲委任模型时如何实现的?2.破坏双亲委派模型3.Tomcat 的类加载器是
2021-06-03 20:13:12 5823 3
原创 spring boot结合Mybatis基于mysql 实现读写分离和主从同步(二)
一:主从复制mysql主从复制原理0、为什么需要主从复制?1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。2、做数据的热备3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。1、什么是mysql的主从复制?MySQL 主从
2020-08-01 16:26:28 866 2
原创 spring boot结合Mybatis基于mysql 实现读写分离和主从同步(一)
一:读写分离1.简介在早期项目开发过程中,我们都是把数据存储在单个数据库中,这样无论是对数据库的读还是写都是对单个数据库此操作。这样带来的问题是巨大的: 单个数据库服务器挂了,数据库里面所有的数据都挂了 所有的读写请求都是对单个数据库操作,数据库服务器压力巨大 基于上述原因,我们就需要将对数据库服务器的读写操作分离,也就是读写分离。具体原理图如下: 主数据库与多个从数据库实现了主从复制 当应用发起对数据库的写操作时,那么就去操作主数据库 当应用发起对
2020-08-01 16:21:16 1898 3
原创 RabbitMq简介,安装(linux),整合spring boot
一:消息队列“消息队列”是在消息的传输过程中保存消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。二:为什么要有消息队列 ...
2020-03-26 17:17:57 312
原创 Redis-DesktopManager连接Linux redis无法连接
一:修改redis.confdaemonize yes #开启守护线程 # bind 127.0.0.1 #注释掉安全校验ip protected-mode no #关闭保护二:开启Linux端口保护
2020-03-16 11:43:49 267
原创 线程安全:操作并发容器
package com.whut.study.syn;import java.util.concurrent.CopyOnWriteArrayList;/** * 线程安全:操作并发容器 * * */public class SynContainer { public static void main(String[] args) throws InterruptedExc...
2020-02-25 16:50:48 130
原创 线程同步小例子:电影院订票
package com.whut.study.syn;import java.util.ArrayList;import java.util.List;public class HappyCinema2 { public static void main(String[] args) { //可用位置 List<Integer> available =new A...
2020-02-25 16:50:02 484
原创 线程同步小例子:12306订票
package com.whut.study.syn;public class Happy12306 { public static void main(String[] args) { Web12306 c = new Web12306(4,"happy sxt"); //new Thread(c).start(); new Passenger(c,"老1",2)//Pa...
2020-02-25 16:49:06 151
原创 线程同步小例子:账户
package com.whut.study.syn;public class SynchronizedTest1 { public static void main(String[] args) { Account account =new Account(100,"结婚礼金"); SynDrawing you = new SynDrawing(ac...
2020-02-25 16:48:12 218
原创 简单例子弄懂静态代理
/** * 静态代理 * * 1.真实角色 * 2.代理角色 * * 我是结婚得主题,婚庆公司是代理 * */public class StaicProxy { public static void main(String[] args) { new WeddingCompany(new You()).happyMary(); }}...
2020-02-09 16:15:46 391 1
原创 基于java socket的邮件发送
一:实现效果二:实现一:授权qq的stmp服务器进入qq邮箱的账户设置,设置如下 :二:基于spring boot编写的代码@Controller@CrossOrigin(origins = "*")@RequestMapping("/SendMailController")public class SendMailControlle...
2020-01-11 15:17:51 514
原创 阿里云 出现Error establishing a database connection
问题所在,修改了数据库默认密码,但是wordPress没有识别,需要手动去添加。找到根目录使用连接工具找到 wp-config.php 这里用的是winSCP修改数据库现有的密码...
2019-11-12 15:26:44 1981
原创 WinSCP访问被阿里云拒绝解决办法
实际解决办法用密钥来登陆:第一步:生成自己的密钥第二步:在WinSCP中用密钥来进行登陆选择自己的密钥点击确认修改为putty格式的密钥形式选择SCP文件传输协议...
2019-11-08 15:16:08 3962
原创 Yarn安装配置
Yarn介绍:Yarn是facebook发布的一款取代npm的包管理工具。yarn的特点:速度超快。 Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。 超级安全,在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。 超级可靠,使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上...
2019-11-05 14:30:14 989
原创 SpringBoot整合定时任务 Schedule定时任务器和Quartz定时任务框架
定时器:在一定时间内执行的所触发的方法。使用场景也挺多的,如一个系统的日志需要定期删除。Schedule:定时任务器:是spirng3.0以后自带的一个定时任务器。使用:第一步:在pom文件中添加schedule的坐标 <!--spring-boot的核心启动器--> <dependency> ...
2019-10-31 16:46:40 450
原创 SpringBoot整合SpringBoot-POI:将excel导入到mysql中
POI:Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 Microsoft Office文档r的功能。poi的相关api也挺多的,这里介绍怎么将Excel导入Mysql场景:需要将一个用户信息的excel表格导入到m...
2019-10-30 16:45:32 1626 1
原创 SpringBoot整合SpringBoot-Jpa:一
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用...
2019-10-30 14:03:42 499
原创 List集合删除需要注意的坑
场景:给定一个集合,删除集合中的元素'b',给定2种删除方式(从前往后删除和从后往前删除)package com.study;import java.util.ArrayList;import java.util.List;public class ListTest { public static void main(String[] args) { Lis...
2019-10-17 10:33:12 787 1
原创 设计模式之装饰模式
package com.decorator;/** * * 装饰模式 Coffee模型 * * 1.抽象组件:需要装饰的抽象对象(接口或者抽象的父类) * 2.具体组件:需要装饰的对象 * 3.抽象装饰类:包含了对抽象组件的引用以及装饰类共有的方法 * 4.具体装饰类:被装饰的对象 * */public class DecorateTest {...
2019-10-11 15:42:48 115
转载 Navicat Premium 12.20安装与激活
https://www.jianshu.com/p/5f693b4c9468亲测可用,完美脱机激活
2019-06-28 17:37:09 1305
原创 spring boot上传图片
一:首先要配置文件存放设置spring: mvc: view: prefix: /WEB-INF/view/ suffix: .jsp #文件映射路径 static-path-pattern: /** datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:my...
2019-05-18 14:12:59 435
原创 经典算法---骑士走棋盘
骑士走棋盘 #define SIZE 8int possible(int board[][SIZE],int nexti[],int nextj[],int x,int y);int min_direction(int board[][SIZE],int nexti[],int nextj[],int count);bool travel(int board[][SIZE],i...
2019-05-16 15:59:49 572
原创 武汉理工大学2019计算机考研专业课题目(回忆版)
简答题:1.为什么线性表和数组而可以相互转化,写出线性表的定义(前几年考过了)2.设有一个双端队列,元素的进队顺序是1,2,3,4求既不能由输入受限也布恩那个有输出受限得到的3.求‘三路归并树’(要补0)大题(一共4个,分值很大)1。已知一个图的邻接表,通top排序的方法来输出top序列2.调整平衡二叉树(这个题简单但是题目给了16单词,非常复杂),构造出平衡二叉树3.构造广义表,...
2019-05-16 15:57:51 1571 2
原创 树的高度,宽度
//树的孩子兄弟结点定义typedef struct CSNode{ char data; CSNode *nextchild,*nextsibling;} CSNode,*CSTree;/* 树的一些递归算法一定要知道*///树的高度int Height(CSTree bt){ int hl,hr; if(bt ==NULL)...
2019-05-16 15:55:17 670
原创 树常考的一些递归算法
//递归统计叶子结点int leaf_count(Tree T){ if(T == NULL) return 0; if(T->lchild == NULL &&T->rchild == NULL)//叶子结点 return 1; return leaf_count(T->lchild)+leaf_...
2019-05-16 15:54:34 500
原创 判断是否为完全二叉树,平衡二叉树,二叉排序树
//完全二叉树//判断是否为完全二叉树//思想:采用层次遍历,将所有的结点入队(包括空结点),当遇见空结点时,查看其后面的结点是否有非空结点,//若有非结点,则不是完全二叉树bool isComplete(Tree T){ queue<Tree> Q; Tree p; if(T == NULL) return true; ...
2019-05-16 15:53:48 1138
原创 基于后序遍历(非递归)的一些应用(输出最长路径上的结点,求 p,q最近的公共结点,在二叉树中查找值为x的结点,打印x结点的祖先等)
int maxSize = 1000;//这个是重点//后序遍历非递归,tag标记实现void postOrderTraverse_non_recursion3(Tree T){ int top = 0; int tag[maxSize];//tag标记该结点右分支是否被访问过,只有当该节点的右分支访问过了才能访问根节点 Tree p = T; Tree ...
2019-05-16 15:49:38 952 1
原创 图论(拓扑排序,检查图是否存在环)
#include<stdio.h>#include<algorithm>#include<queue>#include<stack>#include<iostream>using namespace std;#define maxSize 101int INF = -2313;int MINF = 6666;//定义...
2019-03-10 15:38:38 308
原创 图论(最短路径,Dijkstra算法和Floyd算法)
#include<stdio.h>#include<algorithm>#include<queue>#include<stack>#include<iostream>using namespace std;#define maxSize 101int INF = -2313;int MINF = 6666;//定义...
2019-03-10 15:36:41 444
原创 图论(最小生成树,Prim算法和Kruskal算法)
#include<stdio.h>#include<algorithm>#include<queue>#include<stack>#include<iostream>using namespace std;#define maxSize 101int INF = -2313;int MINF = 6666;//定...
2019-03-10 15:35:34 857
原创 图论(DFS和BFS)
#include<stdio.h>#include<algorithm>#include<queue>#include<stack>#include<iostream>using namespace std;#define maxSize 101int INF = -2313;int MINF = 6666;//定义...
2019-03-10 15:33:51 209
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人