- 博客(32)
- 收藏
- 关注
原创 行为参数化的开发模式在日常工作中的使用-Lambda表达式和函数式接口
目录背景介绍具体示例具体实现优点Lambda表达式和函数式接口Lambda函数式接口使用函数式接口行为参数化对常用设计模式的重构策略模式普通策略模式下面使用lambda表达式来重构另外模版方法普通模版方法下面使用lambda表达式来重构这个模版方法另外工厂模式普通工厂模式下面使用lambda表达式来重构这个模版方法另外结语背景在日常开发中,有个众所周知的问题,不管你做什么,用户的需求肯定会变。比方说...
2021-01-31 23:21:05
712
原创 从ReentrantLock来理解AbstractQueuedSynchronizer
目录1.基本概念2.AbstractQueuedSynchronizer在ReenTrantLock实现可重入锁2.1 基本特性2.1.1 重入2.1.2 同步2.1.3 实际场景2.2 AQS重要方法与ReentrantLock的关联2.3 ReentrantLock和AQS交互过程2.3.1 交互图2.3.2 流程图-加锁2.3.3 解析2.4 AQS的框架作用如何体现2.4.1 加锁2.4.2 解锁2.4.3 总结3.通过Abstr...
2020-09-05 16:51:58
588
原创 微服务Spring Cloud中Ribbon、Hystrix、Feign的关系、原理、配置解读
目录1.三者关系简介2.MNT中实例解读2.1 ribbon2.2 hystrix2.3 Feign3.Ribbon3.1 简介3.2 部分源码3.2.1 LoadBalancerAutoConfiguration 自动化配置类3.2.2 LoadBalanceInterceptor3.3 配置详解3.3.1 自动化配置3.3.2 参数配置...
2020-02-04 21:59:11
1842
原创 MyBatis 中的关联查询 一对一&多对一 / 一对多&多对多
文章目录提要一对一&多对一案例 —— N+1查询案例 —— 1次查询一对多&多对多案例 —— N+1查询案例 —— 1次查询提要关联查询分为1次查询和N+1次查询。一次查询:使用多表联合查询SQL语法实现(join、where等)语法复杂;效率高;数据量大不推荐;N+1次查询:使用多个单表查询SQL语法实现效率低,多次访问数据库,网络操作多次;可以...
2019-09-05 20:08:29
383
原创 Spring IOC 和 AOP 部分源码分析
IOC 容器初始化流程ApplicationContext 容器的初始化流程主要由AbstractApplicationContext 类中的refresh() 方法实现.大致过程为为BeanFactory 对象执行后续处理 -在上下文Context中注册bean为bean注册拦截处理器(AOP相关)初始化上下文消息初始化事件多播初始化主题资源注册自定义监听器实例化所有...
2019-08-29 17:50:23
207
原创 网络编程中UDP和TCP的基本使用
文章目录UDP基本概念特点相关类DatagramSocketDatagramPacket实例应用基本使用传输字符串/基本类型/对象文件 与 字节数组 的转换TCP基本概念特点相关类ServerSocketSocket常用方法基本使用上传文件多客户端访问服务器情况UDP基本概念一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务.用字节数组完成传输, 字节不能太大;核心是将需要传输...
2019-08-04 14:17:08
600
1
原创 GROUP BY 分组后得到最新即时间最大的一条数据(需添加limit才可生效)
当使用GROUP BY 分组,默认返回的数据是组中最小的记录即id最小的数据,当开发中经常会需要分组后将最新的数据放在前面,为了实现需求,使用了嵌套查询,分别使用order by来排序SELECT id, from_id, to_id, conversation_id, created_date, has_read, contentFROM ( SELECT * F...
2019-07-24 20:38:21
3020
1
原创 并发编程基础、同步容器、线程池
文章目录基础关键字synchronizedvolatile相关类AtomicXXXCountDownLatchReentrantLockThreadLocal实例1 监听容器数量2 生产者 消费者同步容器Map/SetConcurrentHashMap/ConcurrentHshSetConcurrentSkipListMap/ConcurrentSkipListSetListCopyOnWrit...
2019-07-18 19:38:07
866
1
原创 Zookeeper注册中心、Dubbo Provider、Consumer的配置及项目流程
目录Dubbo运行原理及架构图注册中心ZooKeeper配置配置ZooKeeper配置Admin管理界面Dubbo中Provider搭建Dubbo中Consumer搭建打包插件使用AssemblyDubbo运行原理及架构图1、启动容器,相当于在启动Dubbo的Provider2、启动后会去注册中心进行注册.注册所有可以提供的服务列表3、在Consume...
2019-07-15 13:27:02
2166
2
原创 Linux中的进程管理、服务管理、动态监控相关指令详解
目录ps -auxkill and killallservicechkconfigtopnetstatps -aux显示系统所有的进程详解USER:用户名称PID:进程号%CPU:进程占用CPU的百分比%MEM:进程占用物理内存的百分比VSZ:进程占用的虚拟内存大小(单位:KB)RSS:进程占用的物理内存大小(单位:KB)...
2019-07-10 19:28:42
179
1
原创 SpringMVC学习中记录的知识点
目录SpringMVC中的重要组件及原理分析跳转方式视图解析器SpringMVC作用域传值的方式文件下载文件上传自定义拦截器SpringMVC中的重要组件及原理分析DispatcherServlet : 前端控制器,接收所有请求(如果配置/不包含 jsp) HandlerMapping: 解析请求格式的.判断希望要执行哪个具体的方法. HandlerAda...
2019-07-08 17:58:20
269
1
原创 SpringBoot考试提纲详解
本文只用于考试复习,不要打印带进考场。。。目录一、概念、填空Spring IOC、DI、AOP 的概念DI依赖注入的两种方式Spring IOC 和 AOP 的优缺点Spring实现的两种设计模式Spring AOP中的 动态代理 和 静态代理bean的作用域AOP基本术语介绍Maven用途及优点HTTP 相关MyBatis 优点Sprin...
2019-05-18 15:25:56
4117
7
原创 将JSON格式的字符串(String)转化为JSON对象(JSONArray/JSONObject)
JSONArray JSONObject都来自com.alibaba.fastjson为了处理JSON格式的字符串,形如[{"id":"c7b09b8e-7f62-11e8-940f-7cd30adaaf52","name":"01栋","code":"001","parentId":0,"checked":0,"level":1},{"id":"cc0e8850-7f62-11e...
2019-05-10 14:48:19
6492
2
原创 Linux(CentOS)环境下Nginx服务器的搭建
1、下载nginxhttp://nginx.org/官网比如:nginx-1.15.12.tar.gz也可选择其他稳定版本2、使用相关工具将nginx-1.15.12.tar.gz上传到Linux上比如使用:FilleZilla工具上传相关文件或文件夹上传至root/temp目录下3、解压nginx压缩包命令:tar -zxvf nginx-1.15....
2019-05-02 18:28:15
299
1
原创 Servlet 解决请求和响应中的乱码问题
Servlet 解决乱码问题请求乱码问题服务器获取的请求数据乱码post请求方式乱码设置请求编码格式req.setCharacterEncoding(“UTF-8”)get请求方式乱码方式1每个数据都要单独的进行转换String uname1 = req.getParameter(“uname”);String uname2 = new String(uname.getByte...
2019-04-06 17:42:19
267
1
原创 HTTPServletRequest and HTTPServletResponse
Request对象:服务器在接收到请求后,会给此次请求创建一个request对象,此对象中封存了此次请求相关的数据。作用:存储请求数据注意:每次请求都会创建新的request对象存储请求数据特点:request对象由服务器创建 一次请求创建一个request对象 生命周期为一次请求内,请求结束即销毁此次请求的request对象请求行-请求方式 请求URL 协议g...
2019-04-06 17:25:37
217
1
原创 【总结】纯前端使用SheetJS实现excel的上传下载
项目简介一个基于SheetJS完成excel数据上传和生成新excel的网页。不需要后端提供下载excel的相关API。本项目是为我校体育部制作,用于完成对学生体侧数据的评估,包括各项数据对应评估和总评估,最后生成总成绩表以及及格率。SheetJS网址:https://sheetjs.com/代码地址:https://github.com/RemEb/xlsxUploadorDo...
2019-02-14 15:01:16
2781
3
原创 Spring是什么以及SpringMVC、SpringBoot的功能、关系、区别
Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML...
2019-01-26 23:43:36
1592
1
原创 Spring页面通过form传递参数到contoller相关问题
前端form表单中的内容<form action="/accounting" method="get"> <div> <label for="cash">Cash</label> <input type="text" name="cash" id="cash"> </div>...
2019-01-23 16:36:37
456
原创 Servlet的doGet方法、doPost方法和service方法
doGet(HttpServletRequest request, HttpServletResponse response)处理get请求doPost(HttpServletRequest request, HttpServletResponse response)处理post请求service(HttpServletRequest req, HttpServletRespons...
2018-12-09 20:50:32
959
原创 Servlet的生命周期的两种情况
Servlet的生命周期从第一次被调用到服务器关闭init()方法:servlet被初始化创建的时候调用service()方法:处理请求的时候destory()方法:servlet被销毁的时候用代码测试启动服务器,访问对应路径后终止服务器后也可以通过配置web.xml来改变生命周期<load-on-starup>来实现在启动服...
2018-12-06 21:03:35
162
原创 Servlet的web.xml文件的几种配置方式
配置Servlet目录配置Servlet配置方式一——精确配置配置方式二——模糊配置配置方式三——拦截所有请求配置方式四其他注意点图例框中的内容都是配置时必须要的配置方式一——精确配置<url-pattern>/别名</url-pattern>注意:“/”是必须声明的,别名不可以为中文此种配置方式可以配置多个...
2018-12-06 20:04:48
2444
1
原创 创建集成MyBatis、Jersey、MySql的项目及其相关配置
1、我们用下面的网站来创建项目,集成依赖https://start.spring.io/黄框根据自身填写 红框输入需要添加的依赖 这里我们需要的依赖有MySQL、MyBatis、Jersey2、我们用IDEA打开此项目,等待其加载完成(需要加载文件较多,需要时间较长)3、打开src-main-resource中的application.properties,配置数据库对应...
2018-12-05 21:09:05
266
原创 用Jetty服务器创建Servlet项目过程(IDEA中实现)
1、 创建maven项目,选择如图下的选项,完成创建。2、添加依赖改为1.8 添加jetty-server和jetty-servlet 右击-Maven-reimport,完成导入3、编写代码,启动server如果出现以下界面即启动成功4、创建一个实现了HttpServlet的java类,覆写service方法,在方法中申明请求处理规则,并在Ap...
2018-12-01 16:06:50
1950
原创 HTTP协议中 请求(GET、POST)和响应详解
目录请求定义结构请求方式GET和POST区别响应定义结构响应状态码请求 Request浏览器根据用户请求方式,将请求相关数据按照HTTP规定的格式进行封装,然后将封装好的数据发送给指定服务器。定义客户端根据用户地址信息将数据发送给服务器的过程结构请求行:请求方式、请求的地址和HTTP协议版本 请求头:消息报头,一般用来...
2018-11-27 19:30:11
4148
1
原创 jackson配置和解析JSON
【Java】jackson配置和解析JSONjackson是Java语言中最通用的JSON解析库Maven中添加jackson依赖1、打开目录下的pom.xml2、在project中加入以下代码<dependencies> <dependency> <groupId>com.fasterxml.jackson.core<...
2018-11-10 16:41:00
605
原创 IO其他流、从字节数组读取相关的流等及其测试代码
学习笔记-java IO其他流、从字节数组读取相关的流等文章目录学习笔记-java IO其他流、从字节数组读取相关的流等节点流字节数组 字节 节点流Code处理流基本类型 + String **保留数据 + 类型**Code引用类型(对象)**保留数据 + 类型**Code节点流数组的长度有限,数据量不会很大输入流 操作与 文件输入流一致文件内容不用太大1、文件内容 --程序–&amp;...
2018-11-06 19:51:41
273
原创 IO处理流(BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter)、转换流及测试代码
学习笔记-java IO处理流以及其他流增强功能、提供性能节点流之上缓冲流(节点流)缓冲流字节缓冲流BufferedInputStreamBufferedOutputStreampackage com.iotest.buffered;import java.io.*;/** * 文件拷贝+缓冲流 * 提高性能 */public class Demo01Buffere...
2018-11-05 19:28:58
996
原创 IO字节流和字符流及测试代码
学习笔记-java IO字节流和字符流字节流可以处理一切文件包括二进制、音频、视频、doc等节点流 InputStream FileInputStream OutputStream FileOutputStream一、读取文件建立联系File对象选择流文件输入流 InputStream FileInputStream操作byte[] car = new byte[1024...
2018-11-04 18:29:53
196
原创 IO基本知识及测试代码
学习笔记-java IO基本知识及测试代码基本概念流:流动、流向 从一段移动到另一端 源头与目的地程序 与 文件|数组|网络连接|数据库 ,以程序为中心IO流分类流向:输入流和输出流数据:字节流:二进制,可以包含一切文件,包括纯文本、doc、音频、视频等等 字符流:文本文件,只能处理纯文本功能:节点:包括源头 处理:增强功能,提供性能字符流与字节流 与 ...
2018-10-31 21:38:02
303
原创 【总结】实现页面的上拉翻页和下拉刷新
学习笔记-Vue.js 上拉翻页、下拉刷新其实总体来说平,下拉刷新要比上拉翻页复杂的对。上拉翻页只需判断是否到达pageHeight - viewportHeight - scrollHeight = 0 的临界条件,不需要细致的判断touch问题。下拉刷新复杂是因为除了要判断到达scrollTop = 0 (页面在顶部)的临界条件外还需继续判断是否做的是下拉动作下拉刷新主要思路最初...
2018-10-27 14:50:13
4159
原创 通过命令行创建Vue项目(详细步骤)
学习笔记-Vue.js 配置、创建、运行Vue项目配置在终端输入安装cli cnpm install -g @vue/cli安装devtoolscnpm install -g @vue/devtool创建进入存放工程所在的文件夹cd XXXX创建test项目vue create test进入项目cd test运行npm run serve按CTRL+C ...
2018-10-22 12:59:03
4349
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人