自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 变量逃逸、标量替换

变量逃逸分析和标量替换是一种虚拟机优化技术对象是聚合量, 基本类型是标量, 如果确定 对象没有逃逸,则会在编译时候把对象拆分成标量存在栈内存中什么时候进行逃逸分析在编译的时候,而不是运行时候哪些对象可以存在栈内存中1、小对象,如几十字节2、大对象和逃逸对象不能存在栈内存中什么叫变量逃逸方法中有局部对象,外面还会使用这个对象引用,导致 方法运行完对象也没回收就叫做变量逃逸所有线...

2023-05-31 10:16:00 97

原创 动态代理

动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。重点: 运行期间,而不是提前指定 ProxyFactory proxyFactory =new ProxyFactory(myServ...

2021-06-02 13:52:00 78

原创 java 异常

异常有两种,一种是异常,一种是errorerror 错误,不是开发者的错误,恢复起来难度很大的一种错误,如内存溢出, jvm运行异常, jvm没有内存资源异常,不是可以捕获的exception 分两种,运行时异常和非运行时异常非运行时异常就是在写代码时出现红线,需要try catch或者throws时出现的异常,不捕获,程序运行不了运行时异常,是编译通过,在开发中测试功能时程序终止,控制台出现的异常如NullPointerException(空指针异常)、IndexOutO...

2021-05-07 14:36:42 177

原创 vscode提示插件

设置——扩展——snipptes;会出现各种语言提示插件,用哪个就安哪个就行

2020-12-29 16:10:55 1185

转载 @Component and @ComponentScan 的区别

@Component 和 @ComponentScan的使用目的不一样在某个类上使用@Component注解,表明当需要创建类时,这个被注解的类是一个候选类。就像是举手。 @ComponentScan 用于扫描指定包下的类。就像看都有哪些举手了。...

2020-12-08 15:14:53 1172

转载 java反射机制

java中反射是在运行中动态的加载进入。有个很大的好处就是可以节省很多资源。为什么这么说呢,首先我们来说一下jvm,jvm是java的虚拟机,java之所以支持跨平台就是因为java虚拟机的存在。程序你有如下语句 Object o=new Object();运行起来的时候,java的虚拟机会首先启动。将你的java文件编译成 .class文件。加载进入你jvm的内存之中。你的类Object会加载进入方法区,这时候会生成个类的类型对象(即class类的对象)加载到堆中,作为方法区类的数据结构的接口。jvm创建

2020-12-03 15:41:31 101

转载 my97datepicker实现日期改变立刻触发函数

<input type="text"class="Wdate"onclick="WdatePicker({onpicking:function(dp){sayHello(this,dp);}})"readonly="readonly">functionsayHello(obj,dp){vardate=dp.cal.getNewDateStr();var$obj=$(obj);varname=$obj.val();...

2020-11-12 14:36:52 390

原创 对象序列化

序列化其实很好bai理解,du假如你现在做一个项目,项目是分工合作的,并且你喝其回他小组成员不在同答一个城市,那么你要如何把你写的那些类给其他小组成员呢?这个时候就要用到序列化了,简单的说:序列化就是将内存中的类或者对象(你写的类都是存储在内存中的)变成可以存储到存储媒介中的流,你将类序列化成流之后可以通过互联网传输给别人,你也可以反序列化将别人的序列化流转换成内存中的对象就像你要搬dao一个东西,为了好搬,你先把这zhi个东西拆散,搬到dao了之后内再组合起来,java对象序列话容也是为了对象便于"传

2020-11-10 14:51:53 60

转载 maven springboot springcloud 关系

(1) maven是springboot的基础,springboot项目本身就是maven项目。在maven项目中使用springboot的多个starter加几个约定,就能成为springboot项目了。(2)springboot是springcloud的基础,springcloud本身是springboot项目。(3)关系:maven->springboot->springcloudmaven是springboot的基础,springboot是springcloud的基础,mav

2020-11-03 13:16:36 1174

转载 正则表达式中^的用法

用法一: 限定开头 文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。 比如 /^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A用法二:(否)取反 当这个字符出现在一个字符集合模式的第一个字符时,他将会有不同的含义。 比如:/[^a-z\s]/会匹配"my 3 sisters"中的"3"这里的”^”的意思是字符类的否定,上面的正则表达式的意思是匹配不是(a到z和空白字符)的字符。总结:什...

2020-11-02 10:54:51 2382 1

转载 Java Web(一) Servlet详解!!

一、什么是servlet?    处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。理解这个的前提是了解一些http协议的东西,并且知道B/S模式(浏览器/服务器)。    B/S:浏览器/服务器。 浏览器通过网址来访问服务器,比如访问百度,在浏览器中输入www.baidu.com,这个时候浏览器就会显示百度的首页,那么这个具体的过程,步骤是怎样的呢?这个就了解一下http请求和响应了                   

2020-10-29 11:20:13 84

原创 controller类与servlet的关系

https://zhuanlan.zhihu.com/p/66934627

2020-10-29 10:08:10 1273

转载 微服务之配置中心

简介 在项目中,我们可以简单的理解程序=代码+配置。代码这个没什么好说的,你懂的,对于配置来说,由于我们需要对程序中的一些参数进行自定义配置,不想直接硬编码在代码中,方便以后更改,使得系统具有良好的拓展性,为此可以将一些信息写入配置文件(数据库连接、日志配置、系统环境、系统常用参数等),其实说白了,可以将配置文件理解为一个小型的数据库,存储信息,然后程序可以读取使用。图片发自简书App 举个配置的简单使用例子,系统上线后日志级别默认为INFO,突然某一天系统出...

2020-10-29 09:34:23 1506 1

转载 微服务之消息总线

简介在上篇文章《微服务之配置中心》中写到,客户端可从服务端获取配置信息,当Git仓库中的配置文件修改后,为了让客户端获取最新的配置信息,可以通过执行refresh操作进行手动刷新。但是这样有问题,当客户端很多时(随之系统的不断扩大),如果需要每个客户端都执行一遍,那就蛋疼了,显然这种方案就不适合了。Spring Cloud作为微服务架构的一个综合解决方案,也提供了对应的解决方案Spring Cloud Bus,即消息总线。这里要理解一个概念,消息总线。简单理解就是一个消息中心,众多微服务实例可以连接

2020-10-29 09:32:40 1870

转载 Spring Boot中只能有一个WebMvcConfigurationSupport配置类

Spring Boot中只能有一个WebMvcConfigurationSupport配置类首先将结论写文章的最前面,一个项目中只能有一个继承WebMvcConfigurationSupport的@Configuration类(使用@EnableMvc效果相同),如果存在多个这样的类,只有一个配置可以生效。推荐使用implements WebMvcConfigurer 的方法自定义mvc配置。背景项目中的一个模块需要实现上传图片后通过url访问保存在本地上的图片的功能,在SpringBoot

2020-10-29 08:50:15 370

转载 List的Stream流操作

Stream流Stream 中文称为 “流”,通过将集合转换为这么一种叫做 “流” 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的流水线操作。函数式编程带来的好处尤为明显。这种代码更多地表达了业务逻辑的意图,而不是它的实现机制。易读的代码也易于维护、更可靠、更不容易出错。面对一对多结构,查询主实体时需要附带主实体的子实体列表怎么写?查出主列表,循环差子列表List的Stream流操作可以简化我们的代码,减少程序运行的压力,应对上面的问题,以前的话是先查出对应的lis

2020-10-29 08:40:24 1557 1

转载 [MySQL] - 执行错误 #1442

来源:http://hi.baidu.com/loveyurui/blog/item/1c657ac9131b9a15bf09e67d.html+----+------+------+| Id | sal | num |+----+------+------+| 13 | 600 | 10 || 14 | 200 | 10 || 15 | 300 | 10 |+----+------+------+写好的MySQL触发器 如下:CREATE TRIG...

2020-10-21 14:25:11 291

转载 Java Web(一) Servlet详解!!

一、什么是servlet?    处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。理解这个的前提是了解一些http协议的东西,并且知道B/S模式(浏览器/服务器)。    B/S:浏览器/服务器。 浏览器通过网址来访问服务器,比如访问百度,在浏览器中输入www.baidu.com,这个时候浏览器就会显示百度的首页,那么这个具体的过程,步骤是怎样的呢?这个就了解一下http请求和响应了                   

2020-10-21 11:00:58 643

转载 请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式

在一个地址链接(URL)里使用 url?param1=val1&param2=val2 的方式传递参数,结果在获取参数值时发现不是当初设定的值。具体案例以特殊字符井号(#)为例。部分参数值丢了JS里设置参数window.location="some_web_project/xxx.jsp?param_key=abc#xyz";Java中取参数值Sting paramVal = request.getParameter("param_key");...

2020-10-20 09:18:58 4906

转载 SpringBoot整合Slf4j+logback日志框架

一、Slf4j简单介绍与优势1、介绍  Slf4j的全称是Simple Loging Facade For Java(Java简单日志门面),它仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已。所以单独的Slf4j是不能工作的,必须搭配其他具体的日志实现方案,比如apache的org.apache.log4j.Logger,jdk自带的java.util.logging.Logger等。2、优势解耦客户端  Slf4j.

2020-10-16 16:52:17 603

转载 CentOS 7镜像下载

官网下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/step1: 进入下载页,选择阿里云站点进行下载Actual Country 国内资源 Nearby Countries 周边国家资源阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/每个链接都包括了镜像文件的地址、类型及版本号等信息选择当前国家资源区站点下载,获取资源速度比较快...

2020-10-14 09:11:15 522

原创 Git学习

https://www.liaoxuefeng.com/wiki/896043488029600/896202815778784

2020-10-13 16:56:09 88

转载 RabbitMQ:@RabbitListener 与 @RabbitHandler 及 消息序列化

添加 @RabbitListener 注解来指定某方法作为消息消费的方法,例如监听某 Queue 里面的消息MessageConvert涉及网络传输的应用序列化不可避免,发送端以某种规则将消息转成 byte 数组进行发送,接收端则以约定的规则进行 byte[] 数组的解析 RabbitMQ 的序列化是指 Message 的 body 属性,即我们真正需要传输的内容,RabbitMQ 抽象出一个 MessageConvert 接口处理消息的序列化,其实现有 SimpleMessageConverter

2020-09-27 16:22:47 3787

转载 RabbitMQ详解(三)------RabbitMQ的五种队列

目录1、简单队列 2、work 模式 3、发布/订阅模式 4、路由模式 5、主题模式 6、四种交换器 7、总结  上一篇博客我们介绍了RabbitMQ消息通信中的一些基本概念,这篇博客我们介绍 RabbitMQ 的五种工作模式,这也是实际使用RabbitMQ需要重点关注的。  这里是RabbitMQ 官网中的相关介绍:http://www.rabbitmq.com/getstarted.html  本篇博客源码下载地址:https://github.com/YSOcean/R.

2020-09-25 13:57:34 163

原创 idea 工件部署错误

1.查看iml 文件名和自己项目部署的名字是否相同,不相同需要改成相同2.看模块 的依赖是否有依赖包,没有还是iml问题,删除模块,重新导入模块3.构建没有错误,启动服务器时还有错误, 查看tomcat.localhost文件 也就是 所说的服务器日志, 查看数据库地址是否正确...

2020-09-24 09:58:56 9712

转载 SpringBoot多数据源配置事务

在多数据源中配置事务,其实对于SpringBoot来很简单,当然这个的前提是首先把多数据源都配好的情况下,如果不会多数据源配置,请看该系列SpringBoot整合多数据源首先在启动类配置@SpringBootApplication@EnableTransactionManagementpublic class AccountApplication { public static void main(String[] args) { SpringApplication..

2020-09-16 16:21:04 877 1

转载 ftp 之 使用java将文件上传到ftp服务器上

1. 在实际的应用重,通常是通过程序来进行文件的上传。2. 实现java上传文件到ftp服务器中新建maven项目 添加依赖 <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version> </depende

2020-08-25 14:44:47 827

转载 base64上传图片保存到数据库

js实现图片上传预览功能,使用base64编码来实现实现图片上传的方法有很多,这里我们介绍比较简单的一种,使用base64对图片信息进行编码,然后直接将图片的base64信息存到数据库。但是对于系统中需要上传的图片较多时并不建议采用这种方式,我们一般会选择存图片路径的方式,这样有助于减小数据库压力,base64编码后的图片信息是一个很长的字符串,一般我们使用longText类型来将其存入数据库。html代码如下:<div class="col-sm-6">  <im

2020-08-25 14:30:17 2242

原创 父组件与子组件 互相传值 (精简版)

父传子父组件:<template> <div id="app"> <img alt="Vue logo" src="./assets/logo.png"> <HelloWorld :msg="msg"></HelloWorld> </div><script>import HelloWorld from './components/HelloWorld.vue'export defa

2020-08-18 16:04:53 124

原创 箭头函数

箭头函数基本语法:ES6允许使用“箭头”(=>)定义函数var f = a = > a//等同于var f = function(a){ return a; }如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。//无形参var f = () => 5;// 等同于var f = function () { return 5 };//多个形参var sum = (num1, num2) => num1 + num2;

2020-08-10 15:58:40 98

转载 深入理解ES6箭头函数中的this

箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别: 箭头函数内部的this是词法作用域,由上下文确定。 箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定。 由于this在箭头函数中已经按照词法作用域绑定了,所以,用call()或者apply()、bind()调用箭头函数时,无法对this进行绑定(无法使用call()或者apply()、bind()改变this的指向),即传入的第一个参数被忽略。内部的this指向父执行上下文里面的this。

2020-08-10 15:35:37 289

转载 javascript——原型与原型链

一、prototype在JavaScript中,每个函数都有一个prototype属性,这个属性指向函数的原型对象。例如:function Person(age) { this.age = age }Person.prototype.name = 'kavin'var person1 = new Person()var person2 = new Person()console.log(person1.name) //kavinconsole.log(per

2020-08-07 10:08:08 90

转载 .first和:first区别

$("div").find("p:first")取到的有可能是很多元素,那是因为$(:first)的意思是在每一个前面的元素下找最后一个,所以如果当div有很多个,这个find("p:first")就会取到很多个p而$("div p:first")只能取到一个元素。.first()永远也只能取到一个元素。...

2020-08-06 13:40:24 775

原创 mybatis传实体类

之前没注意 ,今天写mybatis 查询在dao 里面 写 public int selectInfoById(@param(“str”) Strb b)在xml 里传值 用#{str.属性名} 才能取到这是我一直得写法今天发现 如果在dao 里 public int selectInfoById(Strb b) 不加@param()在xml 里 直接用#{属性名} 就可以取到...

2020-08-06 13:11:11 1501 1

原创 $(window).load()里取值

如果在controller 把返回值装在model 里 model.attribute("id","***");画面上用 <input type="hidden" id="id" name="id" value="{id}"> 来取,取值必须放在$(window).load()里因为值是赋值在dom元素上的,必须等dom加载完 才能取到值,如果放在$(document).ready(); 取不到值...

2020-07-24 14:35:31 212

转载 form表单乱码

<%@page contentType="text/html; charset=GB2312"%><html> <head> <title> form.jsp file </title> </head> <body style="background-color:lightblue"> <h2 style=...

2020-07-21 16:25:46 404

转载 RESTFull开发风格

(1)查看所有任务GET http://test.com/tasks(2)新建一个任务POST http://test.com/tasksData: title = Foobar(3)根据ID查看一个任务GET http://test.com/tasks/123(4)更新任务PUT http://test.com/tasks/123Data: title = New(5)删除任务DELETE http://test.com/tasks/123@Contr...

2020-07-21 16:21:01 92

原创 mysql 存储过程 解决 游标不下移的问题

CREATE PROCEDURE `insertUserAndRole`(IN officeid varchar(64),IN roleid varchar(64))BEGIN DECLARE userid varchar(1000); DECLARE done INT DEFAULT 0; DECLARE allUserId CURSOR for (select ID FROM sys_user where OFFICE_ID = officeid); DECLARE C.

2020-07-07 16:13:03 331

转载 mysql游标循环的使用

CREATE PROCEDURE `test`.`new_procedure` ()BEGIN-- 需要定义接收游标数据的变量 DECLARE a CHAR(16); -- 游标 DECLARE cur CURSOR FOR SELECT i FROM test.t; -- 遍历数据结束标志 DECLARE done INT DEFAULT FALSE; -- 将结束标志绑定到游标 DECLARE CONTINUE HANDLER FOR NOT FOUND SET don...

2020-07-07 13:28:58 440

转载 MyBatis Spring MapperScannerConfigurer 配置

没有必要在 Spring 的 XML 配置文件中注册所有的映射器。相反,你可以使用一个 MapperScannerConfigurer , 它 将 会 查 找 类 路 径 下 的 映 射 器 并 自 动 将 它 们 创 建 成 MapperFactoryBean。要创建 MapperScannerConfigurer,可以在 Spring 的配置中添加如下代码:<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"&gt

2020-07-03 09:53:31 1093

空空如也

空空如也

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

TA关注的人

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