自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CC_且听风吟丶的博客

行百里者半九十

  • 博客(225)
  • 资源 (3)
  • 收藏
  • 关注

原创 SpringBoot自动装配原理,这一篇就够了!

有关SpringBoot自动装配,你需要知道的一切。

2020-05-08 20:41:41 77096 107

原创 找到数组中消失的两个数字

一道位运算题目,和其他几道题目有相似的地方,都是异或的使用题目链接这里提供两种好理解的思路思路1:求和容易求得1 + … + (N+2),因此可以得到a + b = x容易求得12 + 22 + … + (N+2)2 ,因此可以得到a2 + b2 = y因此可以求得 ab = (x2 - y) / 2已经知道 a + b 和 ab ,就可以求得 a - b已知 a + b 和 a - b ,可以最终求得 a 与 b思路2:使用异或:a ^ a = 0已知的所有数字的异或结果为

2021-02-28 23:59:37 1766

原创 配置8086汇编环境

终于放假了,花了大约一星期的时间来学习王爽老师的《汇编语言》一书,以此提升自己对底层知识的理解,当然,阅读的过程是择重进行的,一些内容不敢说完全掌握。由于王爽老师的这本书时间比较久了,本文就介绍如何使用dosbox配置8086汇编学习环境本人的环境:maxOS Catalina 10.15.7当然了如果是学习汇编现有机器的性能是绝对够的下载Dosbox首先搜索dosbox,去官网下一个匹配版本:https://www.dosbox.com/由于是dos系统模拟器,所以只有11MB,安装过程

2021-01-18 21:23:46 3628

原创 2020-12-01 mac使用Maven将jar包发布到中心仓库

能够将完成的jar包作品发布到中心仓库是一件非常酷的事情。这篇文章简要记述了博主自己动手发布jar包到Maven中心仓库的过程。环境:macOS 10.15.7 (19H2)Maven版本:3.6.1我的测试github项目:mine-spring手写Spring实现注册JIRA账号https://issues.sonatype.org创建一个新的issue新建之后会有人负责给你处理。如果使用第三方域名,需要在服务器的dns解析器下添加一个TXT记录值进行验证:使用如下指令

2020-12-01 13:47:08 1850

原创 2020-11-30 找回git中丢失的commit

在某些情况下,可能需要回退远程仓库的版本到某个commit比如当前有如下三个commit信息:commit ccccccommit bbbbbcommit aaaaac是最新的版本,现在由于需要回退到commit aaaaa首先同步远程仓库,git pull然后执行了下面的代码:git reset --hard aaaaagit push -f -u origin master此时就会发现问题:b和c的代码找不到了,本地也没有,推送的远程也被回退了如何找回bbbbb和cc

2020-11-30 21:03:56 327

原创 有关Spring的Configuration配置类@Bean注册对象的初始化过程的源码探究

有关@Configuration注解中@Bean对象注册的源码探究

2020-11-03 22:29:49 1092

原创 HDU 2087 剪花布条

kmp板题kmp的主要过程:获得next数组生成next数组的过程,其实就是可以看做模式串自己和自己进行匹配,找出所有子串的前后缀子串集合中的最长公共子串长度,然后在整体右移得到这句话好像有点绕。比如:abacda子串:{a, ab, aba, abac, abacd, abacda}生成next数组就是在下面这个事:子串a:前缀:{a} 后缀:{a} 最长公共:1子串ab:前缀:{a, ab} 后缀:{b, ba} 最长公共:0子串aba:前缀:{a, ab, aba} 后缀:{a,

2020-10-24 23:34:11 222

原创 LeetCode-22 括号生成

LeetCode22dp做法:包含n个括号组的字符串结果,取决于n-1个括号组的字符串结果假设n-1个括号组的字符串形式有k种则有:n个括号组的字符串 = “(” + p个括号组结果 + “)” + q个括号组结果其中p + q = n-1将p个括号组结果从 0 -> n-1遍历一遍,就会得到所有可能的n个括号组的字符串组合n=0:返回空n=1:返回"()"class Solution {public: vector<string> generateParen

2020-10-13 00:04:19 176

原创 LeetCode-10 正则表达式匹配

LeetCode10看似是一个字符串问题,实则是动态规划问题越长的字符串匹配结果依赖于较短的字符串匹配结果首先有两层for循环,外层是遍历源字符串s,内层是遍历正则串p,这样可以将字符串由短至长对正则表达式进行匹配设dp[i][j]dp[i][j]dp[i][j]表示s串到iii位置和p串到jjj位置的匹配结果,有0和1两种对于p正则串,有两个特殊符号...和∗*∗如果遇到了∗*∗∗*∗前面的字符可以为0个或者多个,判断这个x∗x*x∗组合的p[j−1]p[j-1]p[j−1]是不是等于字

2020-10-10 15:15:00 517

原创 对于Spring-AOP使用不同层级多个切点表达式,但是切入同一个方法的切入顺序探讨

spring-aop多个切点表达式位于不同层级,并且切入同一个方法的切入顺序

2020-10-10 00:23:35 2227 1

原创 一文打穿Netty使用详解

努力写更多优质文章,欢迎关注CC_且听风吟~文章目录NettyNetty是什么Netty应用场景Netty线程模型Netty简易实例TaskQueue任务队列用户程序自定义的普通任务用户自定义的定时任务非当前线程调用Channel的各种方法ChannelFuture异步模型Netty核心组件Bootstrap与ServerBootstrapFuture与ChannelFutureChannelSelectorChannelHandlerPipline和ChannelPiplineChannelHandl

2020-10-07 18:18:58 591

原创 一文打穿JavaNIO

文章目录Java NIOBuffer简单使用实例NIO和BIO的比较NIO核心组件关系BufferBuffer常用方法Buffer使用注意事项使用多个BufferChannelFileChannel写入文件FileChannel读取文件两个Channel共用BufferFileChannel拷贝文件SelectorSelector类的方法NIO网络通信流程NIO通信流程实例NIO群聊应用实例Java NIOJava NIO(Java non-blocking IO),指的是JDK提供的新API,从JDK

2020-10-07 18:14:09 241

原创 一文打穿JavaBIO

Java BIOI/O模型如何理解I/O模型:即使用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能Java一共支持3种网络编程I/O模式:BIO、NIO、AIOBIO:同步并阻塞(传统阻塞型):服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个会话线程进行处理,如果这个连接不做任何事情就会造成不必要的线程开销 NIO:同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮训到连接有

2020-10-07 18:12:19 265

原创 LeetCode-403 青蛙过河

LeetCode8dp[i][j]dp[i][j]dp[i][j] 表示从iii点可以走jjj步长dis=stones[i]−stones[j]dis = stones[i] - stones[j]dis=stones[i]−stones[j] (dis是jjj个石头到iii个石头的距离)如果dp[j][dis]dp[j][dis]dp[j][dis]为true,表示jjj点可以走disdisdis长度,就是从jjj点可以走到iii点既然可以走disdisdis长度,继续再从iii点

2020-09-29 22:46:00 281

原创 Circular view path [index]: would dispatch back to the current handler URL [/index] again.

springboot很莫名其妙的一段报错,发生在复制了别的项目html模板文件之后 Circular view path [index]: would dispatch back to the current handler URL [/index] again. Check your ViewResolver setup! 解决方案:用了Thymeleaf为什么不导入它的依赖包呢~<dependency> <groupId>org.springframework.b

2020-09-27 15:52:52 2997

转载 Spring之事务

有关Spring事务,看这一篇就足够了本文将按照声明式事务的五个特性进行介绍:事务传播机制事务隔离机制只读事务超时回滚规则Spring事务传播机制事务的特性原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。隔离性(Isolation):可能有许多事务

2020-09-27 12:11:53 229

原创 2020-09-25 darknet-YOLOv3 Windows10安装编译过程详解(可用)

又是一个深夜,又是CUDA和darknet,2020年9月25日 01:05:27,全新的完整的严谨的从零开始win平台编译darknet并且运行的实例记录目标在windows10上编译darknet,并且使用yolov3跑通测试实例(吐槽:windows平台安装是真的恶心)环境Windows10GTX1060准备安装CUDA10.0+cuDNN7.4.1开始之前说清楚的事快速成功的秘诀:严格照抄我的过程,不要作死各步骤请严格按照顺序进行,不然不保证各种奇怪Bug的产生哦~不要用各种最

2020-09-25 01:59:55 1767 2

原创 LeetCode-8 字符串转换整数(atoi)

LeetCode8暴力做法:判断字符串是否合法用k表示当前下标找到第一个非空字符,如果是正负号,修改flag为1或者-1,如果不是数字或者符号,直接返回0k++移动到符号的下一位while循环,使用long类型的temp来存储中间值,如果超过了INT_MAX,结束while,否则k++temp*flag是最终结果,判断是否越界输出class Solution {public: int myAtoi(string str) { int k =

2020-09-19 20:38:51 164

原创 LeetCode-404 左叶子之和

LeetCode404求解所有子叶之和很容易,这个题目需要求左子叶之和在递归遍历的过程中加一个标记sym来表示是否是左子叶即可class Solution {public: int sumOfLeftLeaves(TreeNode* root) { if(root == NULL) return 0; return preOrder(root, 0, false); } int preOrder(TreeNod

2020-09-19 19:43:48 195

原创 LeetCode-5 最长回文子串

LeetCode5做法主要有三种:暴力搜索中心扩散法马拉车Manacher暴力搜索和中心扩散法O(n^2)Manacher是O(n),但是不容易理解https://segmentfault.com/a/1190000008484167这里使用Manacher:class Solution {public: string longestPalindrome(string s) { if(s.length()==0) return "";

2020-09-19 19:39:09 87

原创 一文打穿JVM体系结构

JVM体系结构概述JVM的位置JVM体系结构类装载器 ClassLoaderClassLoader功能负责加载class文件,class文件在文件开头有特定的文件标识,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于他是否可以运行,则Execution Engine决定.class文件中特定的文件标识:cafe babe通过特定的文件标识和其他识别内容,JVM能识别是否为class文件Cl

2020-09-18 14:05:21 312

原创 MySQL优化之MySQL主从复制

MySQL主从复制主从复制原理主从复制原则每个slave只有1个master每个slave只能有唯一的服务器ID每个master可以有多个服务器延迟MySQL主从复制配置进行主从配置的要求:MySQL版本一致ping通具体操作:https://www.cnblogs.com/cjsblog/archive/2018/09/26/9706370.html...

2020-08-27 21:56:15 193

原创 MySQL优化之MySQL锁机制

MySQL锁机制概述数据库锁锁分类按照数据操作粒度划分:表锁/行锁对数据操作的类型划分:读锁/写锁读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会相互影响写锁(排他锁):当前写操作没有完成前,阻断其他写锁和读锁表、行、页锁表级锁特点:偏向MyISAM引擎,开销小,加锁快;无死锁;锁定粒度大,发成锁冲突的概率高,并发度低。偏向于读取####使用表级锁表级读锁(使用MyISAM引擎的表,因为MyISAM是表级锁):lock table m

2020-08-27 21:53:22 282

原创 MySQL优化之查询截取分析

查询截取分析分析过程:观察,查看生产慢SQL情况开启慢查询日志,设置阈值explain+慢SQL分析show profile查询SQL在MySQL服务器里面的执行细节和执行情况SQL数据库服务参数调优查询优化小表驱动大表原则for (int i=10;) for (int i=1000;) ... for (int i=1000;) for (int i=10;) ...上面的嵌套for循环,第一个更优,因为如果作为数据集来说,连接数据库只需要10次小表驱动

2020-08-27 21:48:17 217

原创 MySQL优化之索引优化

索引优化索引优化案例单表案例使用我自己爬取的car_db二手车数据作为一个简单的练习素材,其列分布如下:+------------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+--------------+------+-----+---------+-------+| time | in

2020-08-27 21:39:42 226

原创 MySQL优化之MySQL性能分析

MySQL性能分析MySQL Query OptimizerMySQL自带的优化器MySQL常见瓶颈CPU:CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据的时候I/O:磁盘I/O瓶颈发生在装入数据远大于内存容量的时候硬件性能:使用top free iostat 和 vmstat来查看系统状态性能EXPLAIN语句使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理SQL语句的,从而可以分析语句或者是表结构的性能瓶颈EXPLAIN + SQ

2020-08-27 21:37:07 178

原创 MySQL优化之MySQL逻辑架构介绍

MySQL逻辑架构介绍MyISAM和InnoDB对比:MySQL配置文件SQL书写SQL语句结构:SELECT DISTINCT <select_list>FROM <left_table> <join_type> JOIN <right_table> ON <join_condition>WHERE <where_condition>GROUP BY <group_by_list>HAVIN

2020-08-27 21:34:30 171

原创 Spring之Spring-jdbc

这一篇文章简单谈谈Spring的dao模块,主要的内容是JdbcTemplate这个对象的使用,因为原先用过的原因,所以这一次就比较简单了。使用Spring的JDBC引入jar包我们进行数据库操作,这次需要的jar包如下:spring-jdbc-5.2.3.RELEASE.jarmysql-connector-java-5.1.47.jar (mysql数据库驱动,无论什么必须引入)配置数据源在配置数据源的时候我们可以选择使用原生的JDBC连接操作,也可以使用各种数据库连接池,使用数据库连

2020-08-07 20:34:40 261

原创 Spring之AOP

什么是AOP?AOP:aspect object programming 面向切面编程作用:使得关注点代码和业务代码分离AOP概述:对于许多功能都依赖的代码进行抽取成为切面,然后在运行时往业务方法上动态植入切面代码切入点:被关注的某类的某方法(即需要使用AOP的方法)切入点表达式:用来指定切入点使用Spring开发AOP准备工作引入相关jar包红圈的aspectjweaver包也需要引入引入aop命名空间applicationContext.xml:<?xml

2020-08-06 21:51:36 236

原创 Spring之代理模式与动态代理(jdk和CGLib实现)

这一篇文章来说一说aop的前置:代理模式的思想代理模式一张图:代理类被授权用来代表普通类,从而实现对普通类功能上的增强。代理存在的意义就是代表另一个事物。代理至少需要完成(或实现)它所代表的事物的功能。静态代理静态代理定义静态代理是指已经创建好的代理类,代理类在编译期就已经是确定存在的。抽象角色:通常是接口,定义一组行为规范真实角色:实现接口的普通类代理角色:实现同一接口,并且对普通类进行增强的代理类静态代理实例以卖房子为例:共同接口House/** * 有关房子

2020-08-05 19:05:01 703

原创 Spring之依赖注入方式

对象和对象之间存在相互依赖关系,因此就需要在创建bean对象的时候执行依赖注入。假设有以下两个类:Car和wheel,每辆车都有4个轮子,因此存在对象之间的依赖关系public class Wheel { private Double radius; // 半径}public class Car { private List<Wheel> wheels;}通过构造函数注入我们在使用xml文件配置的时候,可以使用constructor-arg标签来指定创建bean

2020-08-01 21:57:22 208

原创 Spring之xml配置Bean对象细节

这篇文章简单汇总一下使用xml创建Bean对象的时候的一些更加深入的操作内容(一些属性值),因为xml配置方式是比较主流的配置方式。Bean标签属性基本例子首先,一个最简单的例子:<bean class="pojo.User"/>应该这样使用他:ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");User

2020-07-31 00:01:27 551

原创 Spring之快速开始

接下来就从Spring Core核心模块的使用开始,来学习spring框架的设计思想和使用方式。spring的使用方法比较简单,大致流程如下:其实就是先配置IOC容器里面有什么,然后再加载这个容器,拿到想要的对象,需要体会到的是在这个过程中,对象的创建和依赖处理已经完全交给Spring去管理了。引入jar包想用Spring Core模块肯定是要引入一些jar包,这里使用IDEA工具来创建项目并且选取所需jar包我们只使用Spring Core模块,只需要选择5个jar包:然后创建项目之

2020-07-28 23:48:24 312

原创 Spring之简介和引入

准备写一点文章来系统地学习一下spring框架Spring介绍使用Spring的目的是用来替代更加重量级的企业级Java技术,简化开发通过切面和模板减少样板式代码一些名词:侵入式:实现特定的接口,继承特定的类才能增强功能,如Struts2非侵入式:对现有的类结构没有影响,就能够增强JavaBean的功能松耦合:IOC控制反转实现了松耦合,即将bean对象交给spring管理面向切面编程:AOP,即在执行某些代码前后,先执行另外的代码,利用动态代理和反射机制来实现引入Spring在使用

2020-07-28 21:15:32 219

原创 macOS编译openjdk8/11

为了看jdk和jvm源码,我们可以动手编译一个自己的jdk下载jdk源码包并且解压文件,我这里就下了常见的两个版本:jdk8和jdk11下载我就把它放在想要的目录位置下:检查编译环境是否完整我使用的是macOS 10.14.3,需要安装Xcodegcc --versiong++ --versionmake --versionautoconf --versionfreetype-config --ftversion如果上面的环境不完整就brew install一下另外还需要本机

2020-07-16 16:36:14 614 1

原创 mac控制台切换至移动磁盘目录

如何在mac上切换到U盘目录下呢?使用linux中的fdisk命令不可以,非常尴尬。$cd /$cd volumes$cd {目标磁盘目录}cd volumes命令查看所有可用磁盘设备

2020-06-15 14:15:44 1504

原创 一个展示Java类继承子父类之间方法调用关系的例子及其分析

子类对象使用父类来进行承接这种问题今天错了一次、如果调用了子类的方法,子类里的方法使用了super来调用父类的方法就会很有迷惑性,下面是例子:在子类的方法中调用super.方法有如下两种情况:子类已经重写了父类中的这个方法,那么就执行这个重写的方法子类没有重写这个父类的方法,就会执行父类中的这个方法,但是在执行过程中是以子类为主体执行大家可以看下面这段程序,并且写出输出结果:public class Main { public static void main(String[] a

2020-06-11 01:31:10 784

原创 jsp页面中EL表达式失效问题的解决方法

在jsp2.0的时候引入了el表达式来方便操作,但是在使用的时候遇到了如下的情况:页面中的EL表达式原样输出,不生效的问题解决方案:降级jsp-api版本到2.0在jsp页面头添加如下内容,来关闭忽略el表达式<%@ page isELIgnored="false" %>最终可以正常输出:...

2020-06-01 16:56:19 2178

原创 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]

使用jstl的时候报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]首先检查依赖是否导入正确:<dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version>

2020-06-01 16:14:39 1039

原创 vivado:mixed level sensitive and edge triggered event controls are not supported for synthesis

环境:vivado2018.2如下主要部分代码里的always块报错:[Synth 8-434] mixed level sensitive and edge triggered event controls are not supported for synthesisalways@(posedge clk or rst) begin ...代码内容endstackoverflow上的解释大致为:Mixed sensitive list of levels and edges is not

2020-05-31 15:06:47 5274

8086汇编工具masm+link+debug+edit.zip

8086汇编工具masm+link+debug+edit.zip

2021-01-17

basys3-master-1-.zip

Basys3开发板的所有引脚定义,自己用的可以用分享一下,来源是https://www.stepfpga.com/doc/basys3开发板

2019-10-11

空空如也

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

TA关注的人

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