自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 mybatis中#和$的区别

#{} 和 ${} 的区别(1)#{} 为参数占位符 ?,即sql 预编译;${} 为字符串替换,即 sql 拼接(2)#{}:动态解析 -> 预编译 -> 执行;${}:动态解析 -> 编译 -> 执行(3)#{} 的变量替换是在DBMS 中;${} 的变量替换是在 DBMS 外(4)变量替换后,#{} 对应的变量自动加上单引号;变量替换后,${} 对应的变量不会加上单引号(5);#{} 能防止sql 注入;${} 不能防止sql 注入二、#{} 和 ${} 在使.

2021-07-24 22:44:27 164

转载 二进制如何进行正负数之间的转换

先来举个栗子(正数转负数的概览过程):将1转换成二进制数据为 0000 0000 0000 0000 0000 0000 0000 0001学过计算机的,都知道最高位代表符号位,0为正,1为负,所以得到的二进制为 1000 0000 0000 0000 0000 0000 0000 0001但计算机还会进行反码和补码,有兴趣的可以自己查,我只说过程,除了最高位,其他都取反,即0变1,1变0 1111 1111 1111 1111 111...

2021-01-22 14:24:26 10019

原创 一次性说清Java中涉及的符号

java中有三种移位运算符:<< 左移运算符,num << 1,相当于num乘以2>> 右移运算符,num >> 1,相当于num除以2>>> 无符号右移,忽略符号位,空位都以0补齐一、>> 和 >>>的区别就是有无符号的区别: 1、右移运算符>>(有符号) 用来将一个dao数的各二进zhuan制位全部右shu移若干位.例如:a = a>>2...

2021-01-22 13:37:04 653

转载 Java中存储金额用什么数据类型?

转自:https://www.cnblogs.com/yadongliang/p/9066188.html很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, float, double, char)的我, 回答了double, 因为我觉得double是双精度类型, 最适合, 但是面试官告诉我应该用BigDecimal! 最近在做支付的项目, 才对这种数据类型有了更多的了解.栗子请看题:示例

2021-01-20 20:53:52 5020

原创 关于HashMap键Key的Hash过程相关

HashMap中数组下标值的计算过程,大致分为如下几步:1、获取key.hashCode(),2、将hashCode高16位和低16位异或(^)操作,3、与当前数组长度length-1结果进行与(&)操作,最终结果就是数组的下标值! static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);

2021-01-20 20:05:39 539

原创 Tomcat性能调优

1、基于操作系统层面的硬件和JVM(内存)的优化一、操作系统调优对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。二、JDK版本的提升应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。JDK1.4比JDK1.3性能提高了近10%-20%,JDK1.5比JDK1.4性能提高25%-75%。因

2020-05-21 19:16:19 199

原创 SpringBoot项目启动时做一些初始化工作的五种方式

前言通常的我们的项目开发中,经常会遇到那种在服务一启动就需要自动执行一些业务代码的情况。比如将数据库中的配置信息或者数据字典之类的缓存到redis,或者在服务启动的时候将一些配置化的定时任务开起来。关于spring mvc或者springboot如何在项目启动的时候就执行一些代码,方法其实有很多,我这边介绍一下我使用过的三种。1、@PostConstruct注解从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDes..

2020-05-19 20:19:38 2266

转载 Servlet 3.0 之@WebFilter怎么控制多个filter的执行顺序

我们控制多个filter的执行顺序是通过web.xml中控制filter位置的先后次序来控制的,放在上面的会比放在下面的先执行,如下“用户登录检查过滤器”会比“接口日志过滤器”先执行 <!-- 用户登录检测过滤器 --> <filter> <filter-name>UserLoginFilter</filter-nam...

2019-07-25 12:10:08 1006

原创 非常用零散知识点

1、 方法原型:org.springframework.util.StringUtils.containsText(CharSequence str) 返回布尔值 解释:用于判断指定字符是否为空白字符,空白符包含:空格、tab 键、换行符。内部原理来自于Character.isWhitespace(String str)2、方法原型:System.arrayCopy(Objec...

2019-07-24 23:29:12 169

转载 递归函数与回调函数的区别是什么?

概念: 1、递归函数:函数直接或间接调用自己调用自己。自己调用自己就是递归函数了; 2、回调函数:指将一个函数的指针(内存地址)< js中指的就是函数名(JavaScript没有像C那样的指针) > 作为参数传递给另一个函数,当在一定条件下调用这个参数时,就是调用这个参数指向的函数,即回调函数;通俗一点就是:作为参数传递给另外一个函数的函数,它在主...

2019-07-19 12:16:21 4565

原创 setAccessible(反射获取私有成员变量)和 readResolve(单例模式类反序列化防止多例)

第一环节:(setAccessible()方法)1、当isAccessible()的结果是false时,不允许通过反射访问该字段;2、当该字段时private修饰时,isAccessible()得到的值是false,必须要改成true才可以访问;所以我们在通过反射访问某类的私有成员方法和变量的时候,f.setAccessible(true)设置为true的作用就是让我们在用反射时能够访...

2019-06-14 14:45:37 340

转载 设计模式 之 责任链模式 原理

定义一个抽象的父类, 在抽象的父类中定义请求处理的方法 和 下一个处理者.然后子类处理器继承分类处理器, 并实现自己的请求处理方法设置处理请求链, 可以采用工厂设计模式抽象, 请求者只需要知道整个链条的第一环。

2019-06-01 20:06:36 259 1

原创 mysql8.0+的与老版本的不同配置;

众所周知mysql是一款效率强大的数据库,大部分企业都在使用;我们常规使用的都是5.x,6.x版本的数据库;当有部分人使用8.x+版本数据库的时候就会有很多坑;今天我们举的例子是在使用java编程时,我们使用的mysql作为数据库;比如一个jdbc.properties中的配置变化:8.x之前:mysql.driverClassName=com.mysql.jdbc.Driverm...

2019-05-31 15:29:13 2957 2

转载 mysql8.0++创建用户及授权-远程连接(坑)

创建用户和授权在mysql8.0创建用户和授权和之前不太一样了,其实严格上来讲,也不能说是不一样,只能说是更严格,mysql8.0需要先创建用户和设置密码,然后才能授权.#先创建一个用户create user 'tone'@'%' identified by '123123';#再进行授权grant all privileges on *.* to 'tone'@'%' with...

2019-05-31 15:15:14 9305 2

原创 如何炒股

走自己的路 - - -自己帮助你自己2008-01-24 04:47牛市中充满了傲慢与偏见,在挫折中容易使人们变得冷静和客观 .走自己的路 - - -自己帮助你自己  你当然可以不了解自己的生理结构,就能饮食消化;但你不应该在没有学会游泳之前就跳进如大海波涛一样的股市,你几乎必死无疑。希望被恐惧代替,使你丧失思考;缺乏观念的理性变成空谈;证策摇摆,使你无所适从;技术派与基本面派在无休止...

2019-05-07 15:26:44 864

转载 B树的添加、删除元素原理

B树的插入根据B树的性质,一个m阶的B树需要满足:树中每个结点含有最多含有m个孩子,即m满足:ceil(m/2)<=m<=m。 除根结点和叶子结点外,其它每个结点至少有[ceil(m / 2)]个孩子(其中ceil(x)是一个取上限的函数); 除根结点之外的结点的关键字的个数n必须满足: [ceil(m / 2)-1]<= n <= m-1(叶子结点也必须满足此条...

2019-04-17 17:48:49 743

转载 面试感悟----一名3年工作经验的程序员应该具备的技能

关于程序员的几个阶段每个程序员、或者说每个工作者都应该有自己的职业规划,如果看到这里的朋友没有自己的职业规划,希望你可以思考一下自己的将来。LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈。LZ认为一名程序员应该有几个阶段(以下时间都算上实习期):第一阶段----三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段...

2019-04-03 17:42:59 141

原创 Windows系统安装Redis - 靠谱

1、Github下载Redis : https://github.com/MicrosoftArchive/redis/releases 2、安装: ①将获取到的zip解压到指定路径。 ②CMD进入到解压后的目录使用命令:redis-server redis.windows.conf 启动服务端; ③测试客户端:不要关闭服务端...

2019-04-03 16:32:45 138

原创 Eclipse安装Lombok插件最简单方法-靠谱

对于类似我这种菜鸟来说,区区小事也可以让我握好一会儿度娘的手;因为舍不得啊,于是有了这篇博客;下面进入正题:如何最靠谱最快的安装lombok插件?步骤如下:1、下载 lombok.jar 文件,Lombok下载Maven仓库地址;https://mvnrepository.com/artifact/org.projectlombok/lombok2、下载完之后将对应文件放在Eclips...

2019-03-31 18:03:32 235

转载 Java中的24种设计模式与7大原则

参考理解:https://blog.csdn.net/zhengzhb/article/details/7296944一、创建型模式1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个...

2019-03-26 23:06:14 130

原创 IDEA如何导入Eclipse项目-靠谱

小伙伴在用到IDEA的时候,将已有的Eclipse项目导入到IDEA中,遇到各种问题,我总结了一下,仅供参考;我的工具版本是:IntelliJ IDEA 2017.1.51、open的项目目录展示:①实际文件目录:②打开的项目目录展示:2、点击界面右下角,打开Event log ,并选择实际web路径,展示操作如下;①②③3、选中左边项目窗口...

2019-03-15 13:56:43 298

原创 Java的不同版本:J2SE、J2EE、J2ME的区别

1998年12月,SUN公司发布了Java 1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用1.2之前的版本,所以通常所说的Java都是指Java2。Java 有三个版本,分别为 J2SE、J2EE和J2ME,以下是详细介绍。J2SE(Java 2 Platform Standard Edition) 标准版J2SE是Java的标准版,主要用于开发客户端(桌面应用软件),...

2019-03-08 10:28:15 134

转载 Docker的三大核心概念

Docker的三大核心概念-01Docker的三大核心为:镜像、容器、仓库。下面简单的介绍一下这三大核心概念。1.docker镜像(p_w_picpath)镜像是创建docker容器的基础,docker镜像类似于虚拟机镜像,可以将它理解为一个面向docker引擎的只读模块,包含文件系统。创建镜像有三种方法:(1)基于已有镜像的容器创建。主要是利用docker ...

2019-03-04 12:08:10 1530

转载 8.0.x mysql数据库 免安装版 操作教程

环境 Windows 10mysql-8.0.15-winx64 下载 首先,需要下载mysql的压缩包,传送门点这里下载完之后,EZ说的那句:是时候展示真正的技术了! 安装 如果之前有安装过其他版本,需要先进行卸载,CMD窗口,输入命令:sc delete mysql,mysql就是我们所要删除的服务名。1、解压缩安装包将下载的文件mysql-8.0....

2019-03-03 00:14:29 414

原创 如何使ubuntu系统充满WMware容器

我们在虚拟机中安装linux系统之后,系统默认的窗口大小并非随着虚拟机全屏而充满;此时问题来了,如何解决呢?我总结了一下,提供各位小伙伴参阅!安装步骤:1、启动ubuntu,登入系统进入Desktop; 点击VMware上的菜单:虚拟机&gt;重新安装VMware Tools...; 点击之后,系统ubuntu桌面出现的CD应用:VMware Tool 压缩包文件;,2、 如...

2019-03-01 14:11:08 210

原创 IDEA工程启动异常:Warning:java:源值1.5已过时.......

问题描述:创建Maven项目时,IDEA将默认的编译版本设置为JDK1.5,编译项目的时候可能会出现以下警告:"Warning:java: 目标值1.5已过时, 将在未来所有发行版中删除",可能项目启动时候会出现,如图: 解决方法:(1)修改Maven插件的默认配置,在”pom.xml”里加入如下代码:&lt;properties&gt;    &lt;maven.co...

2019-02-27 13:05:34 1661

原创 ActiveMQ服务安装

1、ActiveMQ安装1.1 下载点我官网下载1.2 安装解压下载的压缩文件到任意目录中(示例:C:\Program Files (x86)\apache-activemq-5.14.5),进入%ACTIVEMQ_HOME%/bin目录,根据自己的系统位数,进入32/64目录,点击activemq.bat启动ActiveMQ;2. 启动启动过程中如果出现自动关闭黑窗口...

2019-02-22 17:18:03 702 2

转载 如何安装RabbitMQ消息中间件服务

本文源自转载,并加上一些个人见解:我再装这两个软件时候,本身可以使用5分钟搞定,结果花了5个小时;因为实在有好多坑在里面,此文章发布希望能为需要的人提供一些帮助;请特别注意标红的字体说明;RabbitMQ是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang。安装注意事项:  第一次安装时候先安装Erlang,后安装RabbitMQ;  ...

2019-02-21 12:22:19 615

转载 HTTP协议状态码查询,详解(200、206、500、416、403、404)

1XX 信息性状态码这些状态码是HTTP 1.1引入的。 对于这些状态码的价值还存在争论 (我个人从来没见过这些状态码, 也没有理解这些状态码。)2XX 成功状态码客户端发起请求时, 这些请求通常都是成功的。服务器有一组用来表示成功的状态码,分别对应于不同类型的请求。3XX 重定向状态码重定向状态码用来告诉浏览器客户端,它们访问的资源已被移动, Web服务器发送一个重定...

2019-01-30 11:05:28 20668

转载 什么是反向代理

2019-01-24 17:11:40 177

原创 如何显示IntelliJ IDEA工具的Run Dashboard功能(靠谱)

How to enable the Spring Boot ‘Run Dashboard’ in IntelliJ IDEA 2017.2.1从 JetBrains released IntelliJ IDEA 2017.2.1 版本之后,新出的功能‘Run Dashboard,它能非常方便的提供开发人员查看本地springboot服务运行的一些参数,功能相当优秀,但IDEA默认不显示此功能,...

2019-01-24 12:51:45 31377 14

原创 Git如何删除本地仓库(靠谱)

Git工具类似于我们传统使用的SVN一样,是一种项目托管平台,它支持局域网和公网模式;本文我们不多说,仅仅针对主题:如何删除本地项目仓库?使本地项目变成一个没有被Git托管的清白项目?(需求来源:同一个项目做不同演示,更改其中主内容,并且在其后更换新的远程宿主仓库。)操作方法:进入到项目仓库目录,打开Git客户端 Git Bash Here 命令窗口,依次执行下列步骤:1、$ git br...

2019-01-24 10:54:13 9639

转载 Hystrix 参数详解

Hystrix 参数详解hystrix.command.default和hystrix.threadpool.default中的default为默认CommandKeyCommand PropertiesExecution相关的属性的配置: hystrix.command.default.execution.isolation.strategy 隔离策略,默认是Thread, 可...

2019-01-23 12:02:28 250

转载 springcloud异常:timed-out and no fallback available,failed and no fallback available的问题解决

timed-out and no fallback available:这个错误基本是出现在Hystrix熔断器,熔断器的作用是判断该服务能不能通,如果通了就不管了,调用在指定时间内超时时,就会通过熔断器进行错误返回。一般设置如下配置的其中一个即可:1、把时间设长这里设置5秒hystrix.command.default.execution.isolation.thread....

2019-01-23 00:10:27 11315

原创 如何在IntelliJ IDEA中 启动多个不同端口工程实例

国人在使用IntelliJ IDEA强大功能的时候,却又不懂英文,有时候就有点尴尬,实际开发中,我们经常为了模拟集群,一个工程会以不同端口多实例启动,实现伪集群效果; 本文针对 IntelliJ IDEA 2018.3 (包含此版本)之后版本,之前版本略有不同,不同之处将在本文最后提到!因为IDEA工具默认是单实例启动一个项目;再次启动代表重新启动;并非多个实例同时运行;怎么办呢?原来有一...

2019-01-22 21:50:47 2153

转载 spring cloud各种超时时间设置

https://github.com/spring-cloud/spring-cloud-netflix/issues/1324找到能解决这个问题的文章,最好还是得找到原理图学习。https://codeday.me/collect/20171109/97634.html如果是zuul(网关)的超时时间需要设置zuul、hystrix、ribbon等三部分:#zuul超时设置#默...

2019-01-22 21:03:01 600

原创 什么是服务降级和熔断(网络白话摘要)

伴随着微服务架构被宣传得如火如荼,一些概念也被吹的风生水起(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了)。想起有人总结的一句话,微服务架构的特点就是:“一解释就懂,一问三不知,一谈就吵架”;首先为什么需要服务的熔断和降级呢?服务的稳定是公司可持续发展的重要基石,随着业务量的快速发展,一些平时正常运行的服务,会出现各种突发状况,而且在分布式...

2019-01-22 15:39:12 16234 7

转载 什么是服务雪崩效应

转载:https://segmentfault.com/a/1190000005988895定义  服务雪崩效应是一种因“服务提供者的不可用”(原因)导致“服务调用者不可用”(结果),并将不可用逐渐放大的现象。如下图所示:        上图中, A为服务提供者, B为A的服务调用者, C和D是B的服务调用者. 当A的不可用,引起B的不可用,并将不可用逐渐放大C和D时, 服务雪崩就形成...

2019-01-22 13:07:46 12145

原创 Maven更新失败阻止重新自动更新的解决办法

产生背景:Maven在拉取项目Jar文件依赖的过程中,如果因为某些原因导致第一次拉取失败后!那么后续的更新将全部失败;此问题最最困扰Maven初学者,于是吐槽一下,我曾经因为此问题卡了两天,后来才知道,这个隐藏的Bug真是一坨屎加一坨屎!无奈至极。在此总结问题解决方案供大家参考:方案一:手工操作   找到仓库中对应jar文件目录删除对应artifactId的文件夹删除,重新更新Maven,...

2019-01-21 21:05:59 966

转载 Windows进行Zookeeper伪集群模式安装

伪集群模式安装在一台PC上启动多个Zookeeper实例,同一个不同的端口,来实现微集群。简单原理:选举算法,有兴趣的同学可以看看,后续篇章中会详述。1、修改加载的配置文件。在D:\zookeeper-3.4.6\conf 下复制zoo.cfg重命名为zoo1.cfg ,zoo2.cfg,zoo3.cfg修改以下如下:dataDir=D:\\data\\zookeep...

2019-01-21 18:48:06 253

空空如也

空空如也

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

TA关注的人

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