- 博客(49)
- 资源 (8)
- 收藏
- 关注
原创 jib-maven-plugin插件快速构建docker镜像
使用jib-maven-plugin插件可以将springboot代码制作为容器镜像并push到远程容器仓库2.刷新mavem点击 jib:build操作使用maven插件能帮助我们快速的构建SpringBoot项目镜像并上传到doker容器
2022-06-13 13:58:50
1896
转载 JAVA8 - 使用stream api进行list集合指定字段去重
JAVA8 - 使用stream api进行list集合指定字段去重背景 有一个list,实体包含多个字段,当其中两个字段值均相同时,就认为list中的这两条记录是一样的去重 java8中有一个collectingAndThen可以根据多个字段去重 依据姓名和年龄去重,当姓名和年龄相同时,认为这两个实体相同class FlightTicketInfo {private String orderNumber;private String userName;private St
2021-11-22 09:31:01
828
原创 # JAVA实现评论功能设计开发
JAVA实现评论功能设计开发实现类似微信朋友圈的评论楼层思路:1、嵌套型的评论方式所需要的数据结构是树状型的,评论多起来的话层级结构会变得很复杂实现原理为在评论表之中添加一个【parent_id】字段,定义评论和回复为父子级的关系,评论为父级,回复为子级,默认为【0】,表示为没有父级create table `comment` ( `id` int(11) not null auto_increment comment '主键id', `nickname` varchar(2
2021-11-17 16:35:26
4098
2
转载 Nginx四个作用
本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完。1|0Nginx能做什么——反向代理——负载均衡——HTTP服务器(动静分离)——正向代理以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功能怎么做。2|0反向代理反向代理应该是Nginx做的最多的一件事了。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给in.
2021-04-29 10:05:21
172
转载 SpringMVC 中 @ControllerAdvice 注解的三种使用场景!
@ControllerAdvice ,很多初学者可能都没有听说过这个注解,实际上,这是一个非常有用的注解,顾名思义,这是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能:全局异常处理全局数据绑定全局数据预处理灵活使用这三个功能,可以帮助我们简化很多工作,需要注意的是,这是 SpringMVC 提供的功能,在 Spring Boot 中可以直接使用,下面分别来看。全局异常处理使用 @ControllerAdvice 实现全局异常处理,只需要定义类,添加
2021-04-28 17:12:57
120
转载 理解 Spring ApplicationListener
ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext事件处理。 如果容器中有一个ApplicationListener Bean,每当ApplicationContext发...
2021-04-23 17:13:55
143
转载 Java使用SSLContext请求https链接
Java使用SSLContext请求https链接 先了解几个关键类 SSLContext 安全套接字协议的实现核心类 SSLSocket 扩展自Socket用户客户端 SSLSocketFactory 工厂类 SSLServerSocket 扩展自ServerSocket用于服务端 SSLServerSocketFactory S...
2021-04-20 16:54:04
2767
转载 springboot aop 自定义注解方式实现完善日志记录
在我们做的系统中,有时需要记录操作日志,方便找到某个操作是谁进行的,这个可以用spring的aop来实现,本篇博客记录用自定义注解+aop应用于springboot项目中实现操作日志的记录 1、aop相关术语介绍 连接点(Joinpoint): 程序执行的某个特定位置,如某个方法调用前,调用后,方法抛出异常后,这些代码中的特定点称为连接点;简单来说,就是在哪加入你的逻辑增强,连接点表示具体要拦截的方法,切点是定义一个范围,而连接点是具体到某个方法切点(Point...
2021-04-20 09:26:53
213
转载 Spring线程池ThreadPoolTaskExecutor学习总结
ThreadPoolTaskExecutor用法这个类则是spring包下的,是sring为我们提供的线程池类,这里重点讲解这个类的用法,可以使用基于xml配置的方式创建<!-- spring线程池 --> <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 核心线程数 -->
2021-04-19 16:32:28
579
转载 RestTemplate
一. 什么是RestTemplate传统情况下在java代码里访问restful服务,一般使用Apache的HttpClient。不过此种方法使用起来太过繁琐。spring提供了一种简单便捷的模板类来进行操作,这就是RestTemplate。二.一个简单的例子。定义一个简单的restful接口@RestControllerpublic class TestController{ @RequestMapping(value = "testPost", method = RequestMet
2021-04-19 16:23:53
252
转载 深入理解synchronized底层原理,一篇文章就够了!
深入理解synchronized底层原理,一篇文章就够了! 2019-07-172019-07-17 16:57:18阅读 16.9K0前言一、synchronized的特性1.1 原子性1.2 可见性1.3 有序性1.4 可重入性二、synchronized的用法三、synchronized锁的实现3.1 同步方法3.2 同步代码块四、synchronized锁的底层实现五、JVM对synchronized的优化5.1 锁膨胀5.1.1 偏向锁5.1.2 轻量级锁5.1.3 重量级锁5.2 锁消除5.3
2021-04-01 14:05:12
517
原创 IntelliJ IDEA中用git提交代码时忽略文件的设置
设置IDEA自动过滤掉不需要提交的文件或文件夹:如*.iml, .idea,target 文件夹1、进入idea设置界面Windows环境:File - Settings - Editor - File TypesMac环境:Preferences… - Editor - File Types2、在下面的ignore files and folders 框里加入 *.iml;.idea;target;确定后在提交代码就会自动屏蔽掉这些文件。...
2021-03-31 10:14:55
602
转载 如何在 IntelliJ IDEA 中快速查看某个类/接口的子类或父类?
如何在 IntelliJ IDEA 中快速查看某个类/接口的子类或父类? 快速查看子接口或实现类的方法 一、将光标放至类/接口签名上,然后按 ctrl+H二、ctrl + alt + 鼠标左键,快速查看实现类三、通过 diagram 对继承关系进行可视化 最近在整理 Java 的集合类框架,看到有很多不错的文章,他们都有整理类似如下的集合框架图: 但是看别人对于源码的解读,总不如自己去看源码。然而在 ID...
2021-03-15 10:33:11
9044
1
转载 BeanPostProcessor使用
1. BeanPostProcessor简介BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。接口声明如下:public interface BeanPostProcessor { //bean初始化方法调用前被调用 Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException; //bean初始化方法调用后被调用 O
2021-03-15 10:21:06
336
原创 双重校验锁实现单例模式
public class Singleton { private volatile static Singleton uniqueInstance; private Singleton() { } public static Singleton getUniqueInstance() { //先判断对象是否已经实例过,没有实例化过才进⼊加锁代码 if (uniqueInstance == null) { //类对象加锁 synchronized (Singlet
2021-02-28 22:08:44
203
原创 SSM框架下实体类中有Date类型属性,将数据返回到前端,结果显示的是时间戳
SSM框架解决方案:在Date类型属性上加上@JsonFormath注解:@JsonFormat(pattern='yyyy-MM-dd HH:mm:ss',timezone=GMT+8)即可解决SpringBoot解决方案:在application配置文件中加入两行配置代码:spring.jackson.date-format=yyyy-MM-dd HH:mm:ssspring.jackson.time-zone=GMT+8...
2021-02-26 14:34:14
1164
1
原创 写入时复制(CopyOnWrite)思想
写入时复制(CopyOnWrite,简称COW)思想写入时复制(CopyOnWrite,简称COW)思想是计算机程序设计领域中的一种优化策略。其核心思想是,如果有多个调用者(Callers)同时要求相同的资源(如内存或者是磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者视图修改资源内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变。这过程对其他的调用者都是透明的(transparently)。此做法主要的优点是如
2021-02-03 14:48:54
1068
转载 研发如何转项目管理
一个研发工程师,当达到一定资历,大部分都曾有过这样的想法,那就是转型项目经理。可能由于太过于沉迷于技术,做技术的兴趣大于做管理的兴趣;或是一直在做技术方面的研究,对于管理的精力总是很难投入;或是已经做了研发项目经理,但跟我们长谈起的可以把控整个项目全生命周期的项目经理还是有很大差别,一直没能跳出程序员的思维,以至于做过一段时间后,还是感觉编程工作更适合自己。身边也有很多这样的朋友,想转型项目经理却一直没能成功,也算是给自己做总结,简单分享下心得,一个研发工程师如何转型项目经理。应该具备什么能力,应该学习哪些
2021-01-18 09:29:02
13489
1
原创 Tomcat:一个或多个筛选器启动失败
今天 idea 在用 spring 框架中,启动tomcat服务器的时候,出现两次:一个或多个筛选器启动失败。完整的详细信息将在响应的容器日志文件中找到这个错误是由于没有导入引起的!解决办法:导入包点开 Project Settings 进行导入包的操作...
2021-01-12 22:26:46
1991
原创 Tomcat启动服务报错:Unknown version string [4.0]. Default version will be used.
Tomcat启动服务报错:Unknown version string [4.0]. Default version will be used.Tomcat、jdk、web.xml 对应关系:版本对应错误,更换便可。(版本往下兼容)web.xml——version2.2——JDK1.1——Tomcat3.3web.xml——version2.3——JDK1.3——Tomcat4.1web.xml——version2.4——JDK1.4——Tomcat5.5web.xml——version2.5
2021-01-12 22:04:20
540
转载 MyBatis系列:模糊查询的4种实现方式
1、根据姓名模糊查询员工信息1.1、方式一步骤一:编写配置文件![在这里插入.
2021-01-12 11:26:33
298
原创 狂神说学习——SpringMVC
1、回顾MVC1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。**Model(模型):**数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据
2021-01-09 14:59:57
516
2
原创 狂神说学习——Spring
1、Spring概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hTRy77un-1610175520541)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201205214744180.png)]1.1 简介Spring : 春天 —>给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004
2021-01-09 14:58:55
309
原创 狂神说学习——MySQL
1、初识MySQL1.1、什么是数据库数据库 ( DataBase , 简称DB )概念 : 长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据 “仓库”作用 : 保存,并能安全管理数据(如:增删改查等),减少冗余…数据库总览 :关系型数据库 ( SQL )MySQL , Oracle , SQL Server , SQLite , DB2 , …关系型数据库通过外键关联来建立表与表之间的关系非关系型数据库 ( NOSQL )Redis , MongoDB , …
2021-01-09 14:58:18
455
原创 狂神说学习——Mybatis
MyBatis1、Mybatis简介1.1、什么是MyBatisMyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类映射成数据库中的记录MyBatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache 迁移到了google code,并 且改名为MyBatis 。2013年11月迁移到Github
2021-01-09 14:57:18
339
转载 idea报unable to ping server at localhost:1099
idea报unable to ping server at localhost:1099 彭珂个人网 2019-06-04 17:05:16 ...
2021-01-06 16:48:54
429
转载 深入理解Cookie
深入理解Cookie1. 前言朋友问我cookie是什么,用来干什么的,可是我居然无法清楚明白简短地向其阐述cookie,这不禁让我陷入了沉思:为什么我无法解释清楚,我对学习的方法产生了怀疑!在知乎上看到有人推荐使用费尔曼学习技巧,于是在重新学习cookie的过程中使用了该技巧来试验,效果有待验证!在学习一个新的知识点前,我们应该明白自己的学习目标,要带着疑问去学习,该小节须要了解:什么是cookie,cookie的作用cookie的工作机制,即cookie是运作流程cookie的基本属性(4
2020-12-25 15:21:22
194
1
转载 费恩曼学习法
费恩曼学习法我们在学习知识的时候,不仅要做到知其然,更要做到知其所以然。有些时候,你觉得自己完全搞懂了某个问题,可是在向其他人讲解的时候,却结结巴巴讲不出来。这并不是表达能力的问题,而是你压根就没搞懂。著名的诺贝尔奖获得者理查德·费恩曼先生有一套自己的学习方法,这套方法施行起来极其简单,但效果却出奇地惊人(如果你能坚持使用的话)。下面就是费恩曼学习法的四个步骤。第一步,选择一个知识点准备好想要学习的知识点,思考一下有关这个知识点的内容。第二步,试着把它讲出来现在,关键的步骤来了,试着把它讲出来,用最
2020-12-25 15:15:16
219
转载 idea输出文件夹没有jsp页面
idea输出文件夹没有jsp页面目录idea输出文件夹没有jsp页面问题描述解决办法问题描述开始创建没有使用web的模板, 自己创建tomcat等配置, 后来启动发现没有index.jsp页面(404), 查看输出文件夹里, 没有复制相应的 jsp文件, 如下图解决办法 没有复制jsp, 因此一定与artifacts等的配置有关, 经过排查, 得知是web配置错误, 当时是点+看都没看, 按照他默认配置生成, 而我的目录结构中WEB文件夹不是与src平级, 因此与idea中默认配置不...
2020-12-24 22:03:13
1435
2
转载 JAVA中循环删除list中元素的方法总结
JAVA中循环删除list中元素的方法总结 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区。下面就来讲一讲。。伸手党可直接跳至文末。看总结。。 JAVA中循环遍历list有三种方式for循环、增强for循环(也就是常说的foreach循环)、iterator遍历。 1、for循环遍历listfor(int i=0;i<list.size...
2020-12-10 11:13:05
246
原创 狂神说学习——**JavaWeb**
JavaWeb1、基本概念1.1、前言web开发: web,网页的意思 , www.baidu.com静态web html,css提供给所有人看的数据始终不会发生变化!动态web在Java中,动态web资源开发的技术统称为JavaWeb;1.2、web应用程序web应用程序:可以提供浏览器访问的程序;web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理;1.3、静态web[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img
2020-11-22 10:21:20
660
原创 狂神说学习——JavaScript学习
JavaScript学习1、什么是JavaScript JavaScript是一种运行在浏览器中的解释型的编程语言。1.1 引入JavaScript* JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到head 中:由<script>...</script> 包含的代码就是JavaScript代码,它将直接被浏览器执行。* 第二种方法是把JavaScript代码放到一个单独的.js文件,然后在HTML中通过 引入这个文件
2020-11-22 10:20:13
239
原创 狂神说学习——HTML5
HTML51、HTML基础1.1 什么是HTMLHTML:Hyper Text Markup Language(超文本标记语言)超文本包括:文字、图片、音频、视频、动画等1.2 W3C标准W3CWorld Wide Web Consortium(万维网联盟)成立于1994年,Web技术领域最权威和具影响力的国际中立性技术标准机构http://www.w3.org/http://www.chinaw3c.org/W3C标准包括结构化标准语言(XHTML 、XML)表现标
2020-11-22 10:16:44
264
原创 狂神说学习——AJAX & JSON
JSON1、基本概念1.1 什么是JSONJSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。要求和语法格式:对象表示为键值对,数据由逗号分隔花括号保存对象方括号保存数组JSO
2020-11-22 10:15:07
1007
原创 Intellij IDEA 导入 eclipse web 非Maven项目详细操作
Intellij IDEA 导入 eclipse web 项目详细操作背景公司老项目用的eclipse写的,个人觉得IDEA更好用,需要将项目导入IDEA提高工作效率。IDEA导入项目1. IDEA导入项目1.1 在Intellij IDEA File–>New–>Project from Existing Sources,选择你要导入的eclipse项目,如下图1.2 选择导入的项目的类型,此时需要选中Import project from external model及下面的E
2020-11-03 14:29:18
753
转载 web.xml文件详解
[spring]web.xml文件详解一、概述 web.xml文件是我们开发Web程序的一项很重要的配置项,里面包含了我们各种各样的配置信息,比如欢迎页面,过滤器,监听器,启动加载级别等等。在服务器启动时,第一步便会加载项目的web.xml文件,然后通过其中的各种配置来启动项目,如果配置项都正确,则项目启动成功。二、配置文件接下来我们以配置Spring MVC程序为例,来挨个看下web.xml中各项配置的含义。首先,我们来看一下web.xml文件最外层的web-app标签:<?xml ve
2020-10-31 10:22:14
2831
1
转载 详解Tomcat 配置文件server.xml
转载:https://www.cnblogs.com/kismetv/p/7228274.html#title1 前言Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛。server.xml是Tomcat中最重要的配置文件,server.xml的每一个元素都对应了Tomcat中的一个组件;通过对xml文件中元素的配置,可以实现对Tomcat中各个组件的控制。因此,学习server.xml文件的配置,对于了解和使用Tomcat至关重要。本文将通过实例,介绍ser..
2020-10-23 15:06:12
109
原创 狂神说学习——MarkDown语法
MarkDown标题使用 # 号标记使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题字体Markdown 可以使用以下几种字体:*斜体文本*_斜体文本_**粗体文本**__粗体文本__***粗斜体文本***___粗斜体文本___分隔线你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也
2020-10-17 12:10:25
278
原创 AM335X 交叉编译移植valgrind工具
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。1、下载> 官网 http://valgrind.org/downloads/ 下载源码包> > tar xvf valgrind-3.15.0.tar.bz2> > cd valgrind-3.15.0> > apt-get install automake&...
2020-04-22 16:23:43
1500
3
原创 给sftp创建新用户、默认打开和限制在某个目录
一、步骤1、创建新用户adduser sftpuser1useradd 和 adduser 的区别useradd 只会添加一个用户,并没有创建它的主目录,除了添加一个新用户之外什么都没有。这个用户甚至不能登录,因为没有密码。所以这里选择 adduser。2、设置该用户密码passwd sftpuser1回车后再输入密码即可。3、修改该用户的家目录usermod -d /dat...
2019-10-15 17:09:10
1150
1
2006-2016下半年软考嵌入式系统设计师真题及答案.zip
2020-05-26
7043.AM335x平台--在引导SPL、Uboot、Kernel期间 修改调试&打印串口.pdf
2019-09-17
超市收银系统源码——毕业设计可以用
2019-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人