自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 嵌套事务分析@Transactional

嵌套事务分析

2022-11-21 17:45:45 1082

原创 正向代理和反向代理的区别

两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,从服务器角度是不能直接看到自己的响应被谁接受,隐藏客户端反向代理代理的对象是服务端,从客户端来看并不知道实际请求的服务器具体是哪一个服务器来接收,隐藏服务器举例:正向代理:服务员收到点餐请求,交给大厨服务器响应,大厨并不知道是哪个顾客点的餐,此为正向。反向代理:顾客去点餐,取号,点餐请求被服务员处理,交给后台大厨服务器响应,顾客并不知道是哪个大厨做的,此为反向。例子中服务员充当代理角色,只有他知道谁点的餐,交给谁做。顾客已知,大厨未

2020-09-25 16:27:16 259

原创 批处理 rewriteBatchedStatements=true

最近在优化大批量数据插入的性能问题。项目原来使用的大批量数据插入方法是Mybatis的foreach拼接SQL的方法。我发现不管改成Mybatis Batch提交或者原生JDBC Batch的方法都不起作用,实际上在插入的时候仍然是一条条记录的插,速度远不如原来Mybatis的foreach拼接SQL的方法。这对于常理来说是非常不科学的。下面先罗列一下三种插入方式:public class NotifyRecordDaoTest extends BaseTest { @Resource(n

2020-07-30 17:10:58 23453 7

转载 Ftp、Ftps与Sftp之间的区别

用qt写了一个ftp自动升级软件的功能,调试发现有问题,实际服务器用的是sftp ssh。https://www.cnblogs.com/Javi/p/6904587.htmlFtpFTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于I...

2020-07-29 14:39:26 1353

转载 啥叫K8s?啥是k8s?

...

2020-01-22 10:17:44 403

原创 浅谈模板引擎

浅谈模板引擎 模板原理模板的诞生是为了将显示与数据分离,模板技术多种多样,但其本质是将模板文件和数据通过模板引擎生成最终的HTML代码。模板技术并不是什么神秘技术,干的是拼接字符串的体力活。模板引擎就是利用正则表达式识别模板标识,并利用数据替换其中的标识符。比如:Hello, <%= name%>数据是{name: '木的树'},那么通过...

2020-01-21 15:13:11 143

转载 Lambda表达式有什么用?怎么来的?

Lambda表达式有什么用?

2020-01-19 10:06:31 189

转载 Java多线程优化方法及使用方式

一、多线程介绍  在编程中,我们不可逃避的会遇到多线程的编程问题,因为在大多数的业务系统中需要并发处理,如果是在并发的场景中,多线程就非常重要了。另外,我们在面试的时候,面试官通常也会问到我们关于多线程的问题,如:如何创建一个线程?我们通常会这么回答,主要有两种方法,第一种:继承Thread类,重写run方法;第二种:实现Runnable接口,重写run方法。那么面试官一定会问这两种...

2020-01-07 18:10:12 296

转载 Spring 源码梳理(一) ClassPathXmlApplicationContext

ClassPathXmlApplicationContext1.为什么要分析Spring源码:1)有意往架构上发展,分析Spring可清楚它做了哪些事情,如何做这些事情2)Spring本身是对Java的丰富和发展,阅读可提高自己的水平2.怎样分析S...

2020-01-07 17:30:20 176

转载 可能是史上最全的权限系统设计(转)

权限系统设计前言权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。目前在公司负责权限这块,所以对权限这块的设计比较熟悉,公司采用微服务架构,权限系统自然就独立出来了,其他业务系统包括商品中心,订单中心,用户中心,仓库系统,小程序,多个APP等十几个系统和终端1...

2019-12-31 14:40:01 180

原创 程序版本(分支)管理策略

程序版本(分支)管理策略当前很多项目实施现场都采用登记簿(excel)的方式管理程序版本,而且每次版本部署都是采用增量发布class文件的方式。这种手工的管理方式,生产处理效率低下,开发人员或版本管理人员容易遗漏代码。如果管理不善,线上代码已经无法找到其源代码,还得靠反编译class的方式获取源代码。当今互联网化的IT开发模式下,程序版本更迭快,运维需要打包、测试、发布等操作都线上自动...

2019-12-31 09:34:25 1377

原创 springboot异步调用@Async

1.使用背景在项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行,我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async。2.异步处理方式调用之后,不返回任何数据。调用之后,返回数据,通过Future来获取返回数据3.@Async不返回数据使用@EnableAsync启用异步注解@Configurati...

2019-12-27 15:50:07 161 1

转载 如何优化JAVA代码及提高执行效率(转)

可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。养成好的代码编写习惯非常重要,比如正确地、巧妙地运用java.lang.String类和java.ut...

2019-12-27 15:14:00 361

原创 有哪些通俗易懂的例子可以解释 IaaS、PaaS、SaaS 的区别?

首先,什么是“云”?很多年前,我们家住一小平房,喝水就喝院子里的井水,冬天取暖自己烧煤炉。后来经济状况好了,搬进了楼房,喝水喝上了集中供应的自来水,冬季用上了集中供应的暖气,再也不用打水和掏黑煤球。这就是“云”的基本概念,过去企业数据维护需要恒温恒湿的机房、一排排服务器以及专业的维护人员。现在云服务器成为了公...

2019-12-18 14:54:34 299

转载 一张图看懂IaaS, PaaS和SaaS的区别

译:老夫子原文:https://www.bmc.com/blogs/saas-vs-paas-vs-iaas-whats-the-difference-and-how-to-choose/ 从小型企业到全球企业,云都是一个非常热门的话题,它是一个非常广泛的概念,涵盖了很多在线领域。 无论是应用...

2019-12-18 14:40:17 761 1

转载 Java中Native关键字的作用

初次遇见 native是在 java.lang.Object 源码中的一个hashCode方法:public native int hashCode();为什么有个native呢?这是我所要学习的地方。所以下面想要总结下native。回到顶部一、认识 native 即 JNI,Java Native Interface凡是一种语言,都希望是纯。比如解...

2019-12-16 15:02:05 151

原创 Java-魔法值

魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义。其实说白了就是硬编码。魔法数值使代码的可读性大大下降。而且,如果同样的数值多次出现时,到底这些数值是不是带有同样的含义呢,谁也说不清楚。另一方面,如果本来应该使用相同数值的地方,一旦用错了,也很难发现。因此,我们应极力避免使用魔法数值。解决办法:使用static final 定义常量或使用enum值根据《...

2019-12-04 17:21:38 343

原创 (7)

Java内存模型JMM1、什么是JMM(面试高频) JVM​ JMM即为JAVA 内存模型(java memory model)。因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。Java内存模型,就是为了屏蔽系统和硬件的差异,让一套代码在不同平台下能到达相同的访问结果。JMM从jav...

2019-12-04 17:18:02 146

原创 (6)

异步回调1、概述Future设计的初衷:对将来某个时刻会发生的结果进行建模。当我们需要调用一个函数方法时。如果这个函数执行很慢,那么我们就要进行等待。但有时候,我们可能并不急着要结果。因此,我们可以让被调用者立即返回,让他在后台慢慢处理这个请求。对于调用者来说,则可以先处理一些其他任务,在真正需要数据的场合再去尝试获取需要的数据。它建模了一种异步计算,返回一个执行运算结果的引用,当运算结...

2019-12-04 17:17:21 142

原创 (5)

ForkJoin1、什么是ForkJoin从JDK1.7开始,Java提供Fork/Join框架用于并行执行任务,它的思想就是讲一个大任务分割成若干小任务,最终汇总每个小任务的结果得到这个大任务的结果。这种思想和HDFS–MapReduce很像(input --> split --> map --> reduce --> output)主要有两步:第一、任务切分...

2019-12-04 17:16:53 93

原创 (4)

Stream流式计算1、流(Stream)到底是什么呢?是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。“集合讲的是数据,流讲的是计算!”特点:Stream 自己不会存储元素。Stream 不会改变源对象,相反,他们会返回一个持有结果的新Stream。Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。2、怎么使用呢?创建一个Stream:一...

2019-12-04 17:16:20 87

原创 (3)

线程池底层工作原理3.1、池化技术程序的运行,其本质上,是对系统资源(CPU、内存、磁盘、网络等等)的使用。如何高效的使用这些资源是我们编程优化演进的一个方向。今天说的线程池就是一种对CPU利用的优化手段。通过学习线程池原理,明白所有池化技术的基本设计思路。遇到其他相似问题可以解决。池化技术前面提到一个名词——池化技术,那么到底什么是池化技术呢 ?池化技术简单点来说,就是提前保存大量的...

2019-12-04 17:15:40 207

原创 (2)

单例模式的探究单例模式可以说只要是一个合格的开发都会写,但是如果要深究,小小的单例模式可以牵扯到很多东西,比如 多线程是否安全,是否懒加载,性能等等。还有你知道几种单例模式的写法呢?如何防止反射破坏单例模式?今天,我们来探究单例模式。关于单例模式的概念,在这里就不在阐述了,相信每个小伙伴都了如指掌。我们直接进入正题:2.1、饿汉式public class Hungry { priv...

2019-12-04 17:14:53 95

原创 从大佬公开课学到的一些知识分享(1)

设计模式概念1.1 什么是设计模式设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领...

2019-12-04 17:13:41 201

原创 内存溢出和内存泄漏的区别

1.1内存溢出:(Out Of Memory—OOM)系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M了,这就叫内存溢出例子:一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出。比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。说白了就是我承受不了...

2019-11-19 16:42:41 176

转载 Ajax跨域问题详解

1.什么是Ajax跨域问题客户端Client通过Ajax方式向服务器Server发送Ajax请求,想要得到响应数据,但是由于客户端和服务器不在同一个域(协议,域名或端口不一致),浏览器出于安全方面的考虑,会在Ajax请求的时候作校验,校验不通过时浏览器会在控制台会抛出一个类似于SEC7120: [CORS] ...

2019-11-19 11:09:04 270

原创 ReactJS +Spring MVC前后端分离 RESTful 交互

在构建项目和原型之后我们可能想找到一种方法来找到React front与Java API后端的连接。下面是一个使用Spring MVC的RESTful的例子,以及我们如何使用它。1. Java Spring MVC RESTful配置Spring MVC控制器并不太复杂。@RestControllerpublic class SearchController { BasicIn...

2019-11-19 11:07:19 976

转载 Maven 多模块父子工程 (含Spring Boot示例)

阅读目录 一、为什么要用Maven多模块 二、 Maven创建多模块聚合项目 回到顶部 一、为什么要用Maven多模块假设有这样一个项目,很常见的Java Web应用。在这个应用中,我们分了几层:DaoServiceWeb对应的,在一个项目中,我们会看到一些包名:org.xx.app.daoorg.xx.app.serviceorg.xx...

2019-11-19 10:58:24 645

转载 从零开始react项目构建

react项目构建使用脚手架:create-react-app配置:antd UI框架配置和less配置一、命令行依次输入如下的命令npm install -g create-react-appcreate-react-app my-appcd my-appnpm start创建完成后文件的结构如下:二、public文件public/favicon.ico  ...

2019-11-19 10:55:45 177

转载 Java源码分析:关于 HashMap 1.8 的重大更新

Java源码分析:关于 HashMap 1.8 的重大更新https://blog.csdn.net/carson_ho/article/details/79373134

2019-11-13 17:37:19 111

转载 Java:手把手带你源码分析 HashMap 1.7

Java:手把手带你源码分析 HashMap 1.7https://blog.csdn.net/carson_ho/article/details/79373026

2019-11-13 17:36:48 64

原创 一语点醒技术人:你不是Google

2019-11-13 15:03:23 89

转载 使用SwaggerUI生成接口文档(配示例)

转载:作者:不哼不哈原博:https://www.cnblogs.com/myindex/p/9116177.html权限管理模块设计 我们比较常见的就是基于角色的访问控制,用户通过角色与权限进行关联。简单地说,一个用户拥有多个角色,一个角色拥有多个权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间、角色与权限之间,通常都是多对多的关系。如下图:...

2019-11-12 09:55:28 388

原创 Spring Cloud最最基础的入门(个人学习版--入门用)

自我总结式的学习:我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Spring Cloud Config实现了应用多环境的外部化配置以及版本管理。为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异常时引起的故障蔓延。eureka 尤里...

2019-11-06 10:07:45 117

原创 ionic的组件components

详情参考https://ionicframework.com/docs/components/Action Sheets 动作表操作表单从设备屏幕底部向上滑动,并显示一组选项,可以确认或取消操作。行动表有时可以用来作为菜单的替代,但是,他们不应该用于导航。操作表总是显示在页面上的任何其他组件之上,并且必须被解雇才能与底层内容交互。当它被触发时,页面的其余部分会变暗,以便更多地关注“

2018-01-24 14:45:11 1882

原创 Android开发入门

(一)Ionic2入门Ionic2的介绍:Ionic2基于Agular2开发, ionic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。 可以帮助您使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。ionic 主要关注外观和体验,以及和你的应用程序的 UI 交互,特别

2018-01-23 11:12:36 213

原创 SSM框架之--spring(二)spring集成mybatis

(一)spring集成mybatis第一种方式1.添加jar包 (18个)【mybatis】 4个 mybatis-3.1.1.jar log4j-1.2.16.jar asm-3.3.1.jar cglib-2.2.2.jar 【mybatis-spring】 1个 mybatis-spring-1.2.1.jar 【s

2017-11-30 19:05:13 3247

原创 SSM框架之--spring(一)

一、why–为什么用spring?1.spring框架为我们提供了很多现成的功能(IoC、AOP、声明式事务等、SpringMVC等),这些功能可以直接拿来用、提高开发效率。 2.进一步提高软件产品的质量 框架是前人对软件开发经验的总结,相当于站在巨人的肩膀上,让一个普通的程序员也能写出高质量的软件成品(符合软件工程的规范,例如高内聚 低耦合、OCP等)不用框架 做小的项目没问题,但是做大的项目

2017-11-30 15:28:02 292

原创 BootStrap前端框架

一.what前端CSS框架,另一个前端框架Foundation前端框架:使用HTML、CSS、JavaScript编写的组件工具集,拿来可以直接用,不用从造轮子.二.why最流行的前端框架、用的多Twitter公司于2011年8月开源的整体式前端框架,由Twitter的设计师Mark Otto和JacobThornton合作开发,短短几个月时间红遍全球,大量的Bootstrap风格的网站出现在

2017-11-14 20:00:25 1647

原创 Mybatis入门级教程(二)

八、调用存储过程8.1. 提出需求: 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性8.2. 准备数据库表和存储过程:create table p_user( id int primary key auto_increment, name varchar(10), sex char(2)); insert into p_user(name,s

2017-11-04 14:03:39 191

空空如也

空空如也

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

TA关注的人

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