Java
柴狗狗的小号
这个作者很懒,什么都没留下…
展开
-
本地编译Elasticsearch
准备工作从git拉取git clone https://github.com/elastic/elasticsearch.git安装对应版本的gradle和jdk,由于选择编译的elasticsearch版本为7.7,对应的gradle版本为6.4,jdk为1.14下载一份对应版本的ElasticSearch的windows发行版备用https://www.elastic.co/cn/downloads/elasticsearch修改elasticsearch\gradle\w原创 2020-12-30 15:20:50 · 402 阅读 · 0 评论 -
java指针压缩临界值
java指针压缩临界值一、概念二、代码三、测试1. 试试看32g2. 参照物来了,31g3. 32g - 1m = 32767m4. 没有什么是减1m不能解决的,如果有...一、概念在64位平台的HotSpot中使用32位指针,内存使用会多出1.5倍左右,使用较大指针在主内存和缓存之间移动数据,占用较大宽带,同时GC也会承受较大压力为了减少64位平台下内存的消耗,启用指针压缩功能堆内存大...原创 2019-08-09 19:55:25 · 1384 阅读 · 1 评论 -
Java对象与Avro相互转换
Java对象与Avro相互转换一、pom依赖和包引用1. pom依赖2. 包引用二、序列化和反序列化1. java对象序列化为avro字节数组2. 反序列化三、完整代码和测试用例一、pom依赖和包引用1. pom依赖<dependencies> <dependency> <groupId>org.apache.avro</gr...原创 2019-08-09 16:22:09 · 3557 阅读 · 0 评论 -
Linux下安装JDK
目录Linux下安装JDK下载上传&解压设置环境变量查看JDK版本Linux下安装JDK本文所用Linux版本为CentOS 7下载前往https://www.oracle.com/technetwork/java/javase/downloads/index.html下载相应的JDK,本文使用的是jdk-8u191-linux-x64.tar.gz上传&解压cd /u...原创 2019-04-02 16:05:07 · 631 阅读 · 0 评论 -
基于Spring Boot 2.x的Spring Cloud服务注册与发现
基于SpringBoot 2.x的Spring Cloud工程搭建创建服务注册中心创建springboot工程添加注解添加配置启动服务创建服务提供者创建服务注册中心创建springboot工程进入https://start.spring.io选择Maven Project、Java、2.1.4,添加Eureka server依赖点击Generate Project,解压下载的zip压缩...原创 2019-04-10 17:04:14 · 882 阅读 · 0 评论 -
SpringBoot开发微信公众号
SpringBoot开发微信公众号SpringBoot开发微信公众号注册微信公众号公众号配置合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导...原创 2019-03-23 20:00:23 · 2353 阅读 · 0 评论 -
MyBatis分组后合并显示一个字段的多条数据
首先我们有一张学生兴趣表(student_hobby),字段包括主键(id)、姓名(name)、兴趣(hobby),表中数据如下(这个表有设计缺陷,但真实应用场景多会伴随多表联查,为了突出重点,避免多表联查,采用这个方案)。id name hobby 1 小明 篮球 2 小明 跑步 3 小华 读书 然后我们想让他显示成如下效果。...原创 2018-07-27 22:46:27 · 7798 阅读 · 5 评论 -
拦截器的拦截地址中*和**的区别
*代表只拦截一层,**代表拦截任意层。如下是一个拦截器的配置,代表拦截/video/下一层的请求,如http://localhost/video/1就会进入此拦截器,而http://localhost/video/java/1就不会进入。如果将*替换为**,则前面列举的两个地址都会进入此拦截器。@Configurationpublic class CheckInterceptorConfi...原创 2018-07-09 22:44:00 · 2866 阅读 · 2 评论 -
MyBatis中#{ }和${ }的区别
MyBatis中#{ }和${ }都可以用来动态传递参数,补全SQL语句,但它们区别也很明显。(1)#{"参数名"}在SQL中相当于一个参数占位符“?”,用来补全预编译语句。它补全预编译语句时,可以理解为在此参数值两端加了单引号。举例如下,当需要动态的按id查询用户信息时。select * from my_user where id = #{id}; 如果我们为id赋值为...原创 2018-07-07 14:21:48 · 7930 阅读 · 3 评论 -
@Results用法总结
MyBatis中使用@Results注解来映射查询结果集到实体类属性。(1)@Results的基本用法。当数据库字段名与实体类对应的属性名不一致时,可以使用@Results映射来将其对应起来。column为数据库字段名,porperty为实体类属性名,jdbcType为数据库字段数据类型,id为是否为主键。@Select({"select id, name, class_id fro...原创 2018-07-07 11:48:56 · 80018 阅读 · 24 评论 -
@Controller和@RestController的区别
在讲这两者的区别时,首先要理解@ResponseBody注解的作用。Controller中的方法加上这个注解后,会将返回的对象,直接以一定格式(基于格式转换器,大多为JSON、XML等格式)返回(写入到了Response的body数据区),不会再走视图处理器。@RestController就相当于@Controller+@ResponseBody。(1)当需要返回到页面时,可以使用@Con...原创 2018-07-06 10:55:50 · 179 阅读 · 0 评论 -
@PathVariable和@RequestParam的区别
@PathVariable和@RequestParam都是用来获取前端通过URL传送到后端的参数,它们的区别是,@PathVariable获取的是URL中的占位符参数,@RequestParam获取的是Request中的参数。举例来讲,在http://localhost:8888/demo/user/1?age=18这个请求中,我们可以这样来获取参数:@GetMapping("/demo...原创 2018-07-06 10:11:48 · 1098 阅读 · 1 评论