自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mac os 安装 homebrew (国内源)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2022-04-17 13:06:08 236

原创 Bean的生命周期和AOP

一:生命周期的几大阶段先附上源码:// 忽略了无关代码protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final @Nullable Object[] args) throws BeanCreationException { // Instantiate the bean. BeanWrapper instanceWrapper = null;

2022-04-03 03:07:40 2419

原创 学习记录:垃圾收集器--CMS和G1

关于三色标记算法白色:初始阶段所有的对象都是白色。在可达性分析后如果还是白色就表示可以被回收。灰色:垃圾收集器扫描过该对象,但这个对象还有至少一个引用没有被扫描过黑色:垃圾收集器扫描过该对象,且扫描过这个对象的所有引用。黑色代表这个对象被扫描过,且是存活的,如果有其他对象引用指向黑色对象,则无需重新扫描。黑色对象不可直接指向某个白色对象。一个对象只有被黑色对象引用才能存活。上面这个图展示了GC线程标记后用户线程又修改了引用关系。上面的情况是:灰色对象1到白色对象3的引用被切...

2022-03-14 20:55:42 200

原创 NIO 选择器

import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.channels.ServerS.

2021-04-09 15:35:31 108

原创 .gitignore去掉已经托管在git上的文件-

清除缓存重新提交git rm -r --cached . git add .git commit -m 'update .gitignore'

2020-12-28 09:17:26 191

原创 AOP日志

import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import org.springframework.web.context.request.RequestContextHolder;import .

2020-09-11 15:04:40 119

原创 MyBatis分页插件

一:导入依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version></dependency>二:添加配置@SpringBootApplication@MapperScan(basePackages

2020-07-30 02:01:33 94

原创 JavaWeb项目实现163邮箱验证码

先去开启163邮箱的smtp服务然后就可以开始撸代码了添加依赖 <!--发送邮件的jar包--> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> ...

2020-07-23 19:52:34 925 1

原创 SpringMVC的Maven依赖

<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.6.RELEASE</version> </dependenc..

2020-05-30 21:02:57 1298

原创 转发与重定向

一句话:转发是服务器行为,重定向是客户端行为。转发 Request.getRequestDispatcher("地址").forward(request,response)客户端向服务器的Servlet A发送请求,A会将请求发给Servlet B,得到C的响应后将结果发送给客户端在前后两次执行后,地址栏不变,仍是当前文件的地址。重定向 Response.sendRedirect("地址")客户端向服务器的 SerVlet A发送请求,A看到 Response.sendRedirect

2020-05-20 00:17:33 111

原创 MyBatis缓存流程图

一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。也就是在同一个SqlSession中,执行相同的查询SQL,第一次会去数据库进行查询,并写到缓存中;第二次以后是直接去缓存中取。当执行SQL查询中间发生了增删改的操作,MyBatis会把SqlSession的缓存清空。二级缓存的作用域是同一个namespace下的mapper映射文件内容,多个SqlSession共享。Mybatis需要手动设置启动二级缓存。...

2020-05-13 23:20:26 260

原创 MyBatis一对多和多对一的处理

多对一: 按照结果嵌套查询 <select id="getStudent" resultMap="StudentTeacher"> select s.id sid,s.name sname,t.name tname from student s,teacher t where s.tid=t.id; </select> <resultMap id="StudentTeacher" type="St..

2020-05-13 16:39:32 207 1

原创 MyBatis-动态SQL(四):trim、where、set

where元素只会在子元素返回任何内容的情况下才插入 “WHERE” 子句。而且,若子句的开头为 “AND” 或 “OR”,where元素也会将它们去除。set元素会动态地在行首插入 SET 关键字,并会删掉额外的逗号(这些逗号是在使用条件语句给列赋值时引入的)。<update id="updateBlog" parameterType="map"> update mybatis.blog <set> <i...

2020-05-12 23:17:34 348

原创 MyBatis-动态SQL(三):choose、when、otherwise

choose相当于Java的switch语句策略变为:传入了 “title” 就按 “title” 查找,传入了 “author” 就按 “author” 查找的情形。若两者都没有传入,就返回标记为 featured 的 BLOG(这可能是管理员认为,与其返回大量的无意义随机 Blog,还不如返回一些由管理员挑选的 Blog)。BlogMapper.xml <select id="queryBlogChoose" resultType="blog"> select

2020-05-12 22:53:30 303

原创 MyBatis动态SQL(二):IF语句

动态SQL--IF语句1、BlogMapperpublic interface BlogMapper { //查询博客 List<Blog> queryBlogIF(Map map);}2、BlogMapper.xml <select id="queryBlogIF" parameterType="map" resultType="blog"> select * from mybatis.blog where 1=1

2020-05-12 22:16:48 192

原创 MyBatis-动态SQL(一):环境搭建

一:环境搭建1、建表CREATE TABLE blog( id VARCHAR(50) NOT NULL COMMENT '博客Id', title VARCHAR(100) NOT NULL COMMENT '博客标题', author VARCHAR(30) NOT NULL COMMENT '博客作者', createTime datetime NOT NULL COMMENT '创作时间', views int(30) NOT NULL COMMENT'浏览量')ENGINE=

2020-05-12 22:14:17 170 1

原创 MyBatis执行流程

2020-05-10 20:14:28 90

原创 mybatis使用log4j

导包 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>配置文件:log4j.properties#将等级为DEBUG的日志信息输出

2020-05-08 22:49:13 164

原创 stream流

import java.util.ArrayList;import java.util.List;import java.util.stream.Stream;public class StreamTest { public static void main(String[] args) { List<String> list=new ArrayL...

2020-04-01 23:25:53 86

原创 动态代理

接口User Service:public interface UserService { void add(); void delete(); void update(); void select();}实现类UserServiceImpl:public class UserServiceImpl implements UserService {...

2020-04-01 20:21:41 94

原创 注解实现AOP

pom.xml :<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework&l...

2020-04-01 18:17:00 88

原创 自定义LogUtils类实现AOP

实现AOP织入,需要导入一个AspectJ的开发包 <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.5</versi...

2020-04-01 17:19:10 110

原创 使用原生Spring API接口实现AOP

实现AOP织入,需要导入一个AspectJ的开发包 <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.5</versi...

2020-04-01 15:24:09 177

原创 Spring注解开发配置

spring-config.xml配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x...

2020-03-31 20:34:39 165

原创 动态规划算法梳理(Java)

今天看了一个公众号 (labulangdong)关于动态规划算法套路的详解,豁然开朗,在这里写一下自己的理解顺道自己再捋一捋思路。原文链接:https://leetcode-cn.com/problems/coin-change/solution/dong-tai-gui-hua-tao-lu-xiang-jie-by-wei-lai-bu-ke/一:原理动态规划问题一般是...

2020-03-09 00:20:20 772

原创 spring-boot-maven-plugin报红

现象:<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId> //这行红色,表示没找到原帖地址:https://phoenixfu.iteye.com/blog/2429768...

2020-02-15 13:58:05 2119 3

原创 MySQL——索引基础知识梳理Ⅰ

定义:MySQL官方对索引(Index)的定义为:是帮助MySQL高效获取数据的数据结构。索引可以简单理解为排好序的快速查找数据结构,目的在于提高查找效率,可以类比字典。索引会形象到where后面的查找和order by后面的排序。一般索引本身也很大,不可能全部存储在内存中,因此索引常常以索引文件的形式存储在磁盘上。我们平时所说的索引,如果没有特别指明,都是指B树 结构组织的...

2020-01-19 20:55:54 143

原创 MySql-事务的ACID属性与隔离级别

事务(Transaction)的ACID属性:1:原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务的操作要么都发生,要么都不发生。2:一致性(Consistency) 数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。事务必须使数据库从一个一致性状态变换到另一个一致性状态。如转账,不管成功还是失败,总金额不变。3:隔离性(I...

2020-01-05 16:33:22 138

原创 MYSQL中delete和truncate的区别

1、DELETE可以加where筛选条件 TRUNCATE不能 2、TRUNCATE效率高一些 3、DELETE删除后,自增长列从断点开始 TRUNCATE删除后,自增长列从1开始 4、TRUNCATE没有返回值 DELETE有返回值 5、T...

2020-01-05 00:05:46 171

原创 LeetCode之旅:两个数组的交集||

思路:public int[] intersect(int[] nums1, int[] nums2) { if (nums1.length > nums2.length) { return intersect(nums2, nums1); } HashMap<Integer, Integer> m = new HashMap...

2019-12-24 22:18:34 122

原创 LeetCode之旅:合并两个有序链表

说实话,这个题目的递归一度给我整晕了。定义的ListNode类/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */先看迭代法还...

2019-12-19 22:49:32 84

原创 LeetCode之旅:小于K的两数之和

解题方法:排序+双指针代码:class Solution { public int twoSumLessThanK(int[] A, int k) { if (A==null||A.length==0) return -1; Arrays.sort(A); int l=0;...

2019-12-16 20:16:58 131

转载 String.format的用法(转载)

文章转载于CSDN博主 猿敲月下码原文链接:https://blog.csdn.net/thc1987/article/details/17528093JDK1.5开始String类中提供了一个非常有用的方法String.format(String format, Object ... args)查看源码得知其实是调用了java.util.Formatter.format(Strin...

2019-12-14 21:16:50 151

原创 解决'mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

今天安装完MYSQL8.0的版本,在CMD里运行,出现了'mysql'不是内部或外部命令,也不是可运行的程序或批处理文件。右键我的电脑--->>属性--->>高级系统设置--->>环境变量在系统变量里新建变量:变量名:MYSQL_HOME 变量值C:\Program Files\MySQL\MySQL Server 8.0然后...

2019-12-11 21:51:31 11399 3

原创 Xshell和Xftp免费版下载

https://www.netsarang.com/zh/free-for-home-school/

2019-12-09 22:24:18 184

原创 IO----字节流和字符流

IO中的输入输出流就像搬家公司搬家,有个标准的流程。这个流程有这样四步:1、先搬家首先得有个家不是。这就是创建一个源;2、打电话找一个搬家公司,摇人。这就是选择一个流;3、好了你们开始搬吧。这就是操作过程,读或者写;4、搬完了给钱打发走人,别在这站我地了。这就是close() 释放资源。以下是InputScream和OutputScream两大抽象类的常用方法。具体细节可以参考...

2019-11-27 22:26:57 122

转载 Java形参和实参的区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-11-06 22:49:11 278

原创 学习Java数据类型和运算符的总结

1、标识符的的规范只能以字母、下划线、$开头、不可以是java的关键字。表示类名的标识符每个首字母大写,如 GoodMan; 表示方法和变量的,第一个单词小写,第二个单词开始首字母大写,如 eatFood(); 可以使用汉字但是不建议使用;2、数据类型:基本数据类型、引用数据类型基本数据类型(3种8类)数值型:整形、浮点型 字符型 布尔型引用数据类型类 接口 数组...

2019-11-05 22:17:45 348

原创 使用记事本编写JAVA小程序

使用记事本编写Java程序public class Test4{ public static void main(String[] args){ System.out.println(" 主 菜 单"); System.out.println(" 1.注册"); System.out.printl...

2019-11-04 21:13:05 934

空空如也

空空如也

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

TA关注的人

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