自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java线程池源码分析

线程池UML类图 public void execute(Runnable command) { // 参数空值校验 if (command == null) throw new NullPointerException(); int c = ctl.get(); // 通过workerCountOf(c)方法获取到当前线程池的线程个数,如果小于核心线程大小,则进行addWorker(command, true)操

2020-09-16 10:57:37 183

原创 mybatis的类型转换器TypeHandler

TypeHandler简介在Mybatis中可以定义一个TypeHandler类型,通过它可以实现Java类型跟数据库类型的相互转换。TypeHandler接口public interface TypeHandler<T> { void setParameter(PreparedStatement ps, int i, T parameter, JdbcType jdbcType) throws SQLException; /** * Gets the result.

2020-07-23 08:19:13 632

原创 mybatis执行流程源码分析

mybatis执行流程源码分析mybatis官网 https://mybatis.org/mybatis-3/需要准备的环境:mysql、maven、idea根据官网的入门教程进行项目搭建项目结构图pom文件配置我这项目存在父工程,可以把parent标签删除<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi

2020-07-19 11:32:55 230

原创 idea中基于数据库表的JPA实体生成(lombok)

前景首先web项目是jpa做持久层框架,数据库设计先行,所以有需要根据公司的项目结构和规范生成项目下不同分层的类。使用idea 2019.2中的 view工具栏下的Tool windows下的database单击一下再右侧菜单栏出现database标签,然后连接数据库,就是填用户名密码,url,等信息。然后选择数据库即schema,找到schema下的表如下图的test库下的demo表,右键点击后选择Scripted Extensions后选择 Generate POJOs.groovy,点击后

2020-06-28 15:39:10 1137

原创 springmvc xml配置项目的改造执行过程

项目是开源项目 技术是spring、springmvc、springjdbc、mysql,git clone的主分支,主要开发都是提交的master分支,提供了不同版本war包下载,但是想着基于源码编译本地ide运行的想法就直接用的主分支。IDE选则 IDEA 内置tomcat启动首先根据项目要求建立数据库表,导入数据,修改配置文件中的mysql数据库的连接信息。配置tomcat过程自行百度,idea中部署项目到tomcat过程,我用的tomcat是8.5版本启动后访问程序接口报错.

2020-06-17 15:30:05 159

原创 spring mvc DispatcherServlet原理解析

spring mvc DispatcherServlet原理及源码解析首先先讲一下servletServlet 是什么?Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。Java Servlet 通常情况下与使用 CGI(Common Gateway In

2020-06-11 12:38:31 404

原创 jar:boot-demo/boot-demo-A/target/boot-demo-A-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/a.txt

问题在java spring boot项目中,idea中运行代码读取resources下的文件可以成功,打成jar包后却报了异常。源码controllerpackage com.example.bootdemo.controller;import com.example.bootdemo.service.TestService;import org.springframework.beans.factory.annotation.Autowired;import org.springfra

2020-05-29 11:02:59 1009

原创 设计模式之单一职责原则

单一职责原则什么是单一职责原则单一职责原则SRP(Single Responsibility Principle) ,英文描述:a class or module should have a single responsibility。class即类的概念,而module 模块可以理解为是一个比类更粗粒度的概念,多个类组成模块,如最近流行的微服务架构中的微服务可以类比是一个单一职责的模块。...

2020-05-13 14:26:32 154

原创 java 8 stream的一些实用操作

引入依赖 <!--对象增强--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> </dependency>

2020-05-12 17:42:53 166

原创 spring-cloud-kubernetes 远程访问k8s apiserver

k8s集群apiserver访问方式1、通过证书认证2、通过token认证本地开发spring-cloud-k8s时使用token访问apiserver1、获取tokenkubectl get secret `kubectl get secret -n kube-system |grep cluster |awk '{print $1}'` -n kube-system -o json | jq .data.token |sed 's/"//g'| base64 -d 2、项目情况可以看上篇博

2020-05-09 14:28:06 733

原创 arthas一次方法追踪记录

调研spring-cloud-kubenetes,发现组件底层通过http请求k8s的apiserver服务查询k8s管理的service列表。本地调用跟踪源码的结果url :https://kubernetes.default.svc/api/v1/services,由于未设置namaspace等信息所以url是最简单的url,源码会读取配置,然后最终生成url。然后想看看部署到k8s上的...

2020-04-23 15:01:34 1731

原创 里氏替换原则与多态的区别

什么是里氏替换原则英文:Liskov Substitution Principle 缩写 LSP。中文解释:子类对象能够替换程序中的父类对象,且不会改变父类的行文。多态定义:父类引用可以指向子类实例,子类重写或者继承父类的全部方法。例子说明如果一个父类提供了提现的函数,且函数定义为账户余额不能小于等于0,但是根据用户分类的不同,可能存在vip用户继承了此父类,重写了体现函数,允许用户透支...

2020-04-23 13:50:33 1468

原创 spring-cloud-kubernetes-feign实战

spring-cloud-kubernetes关于spring-cloud-kubernetesspring-cloud-kubernetes是springcloud官方推出的开源项目,用于将Spring Cloud和Spring Boot应用运行在kubernetes环境,并且提供了通用的接口来调用kubernetes服务,主要提供了应用程序使用k8s本身功能:服务注册发现、客户端负载均衡、...

2020-04-22 11:41:47 2848 1

转载 为什么hashcode的算法要用31作为乘子

为什么hashcode的算法要用31作为乘子31乘子讨论结论31乘子讨论我们先看看 Stack Overflow 上关于这个问题的讨论,Why does Java’s hashCode() in String use 31 as a multiplier?。其中排名第一的答案引用了《Effective Java》中的一段话,这里也引用一下:The value 31 was chosen be...

2020-04-18 15:16:08 175

原创 阿里云对象存储, 服务端签名直传并设置上传回调自定义参数

在服务端设置回调时,签名直传服务响应客户端发送给应用服务器的GET消息,代码片段如下:protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String accessId = "&lt;yourAccessKeyI...

2019-06-10 11:00:03 2191

原创 计算机体系结构及内存分层

计算机体系结构及内存分层计算机体系结构结构图操作系统完成的事情地址给空间的定义计算机体系结构结构图内存结构如上图:cpu为调度器,所以速度最快,增加L1、L2缓存加快cpu的处理速度,由L2缓存和主存进行数据传递,最后主存和磁盘进行数据交换。所以内存结构是从上到下处理速度由快到慢,容量由小到大,只有磁盘进行数据永久存储。操作系统完成的事情抽象 应用程序可以不需要管理程序数据在内存中...

2019-06-10 10:58:31 989

空空如也

空空如也

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

TA关注的人

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