自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Naland's Blog

不积跬步无以至千里

  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 常用正则表达式

常见正则

2022-10-08 14:59:32 100 1

原创 文本选中就被复制了,原因竟是有道词典

为了在开发机上快速查单词,在自己本机和开发的虚拟机上装了有道词典,然后噩梦来了。安装后所有应用程序中选中文本后自动复制到剪贴板,在一些绘图软件上还会造成闪退,这对经常需要copy代码的码农来说太折磨了,让我难过了好几个小时,加上今天提测,害的改bug,简直快疯了。第一件卸载了开发机子上的有道词典,然后发现问题还在!!!网上查了资料,有说是本地机子开着有道会影响虚拟机,然后关闭本机的有道...

2020-03-13 00:23:04 1795

转载 供应链金融三种模式介绍及对比

供应链金融三类模式的最全对比分析2017-08-25 15:56供应链金融可以解决中小企业供应链中资金分配的不平衡问题,打通上下游物流链、资金链、商流、信息流,提升整个供应链的群体竞争力。因此,供应链金融,备受中小企业青睐。在“供应链金融——电商企业——实体小微企业”产业链互利共赢下,可以看到电商供应链采购、销售均离不开背后的众多小微企业,供应链金融服务的对象仍覆盖实体企业,三者形成协同效...

2019-12-11 17:51:27 4478

原创 数据库SQL优化

面试中常常碰到的问题:做过数据库优化吗?今天来总结下数据库SQL可优化的的点:1.写明查询列名,避免select *使用;表名过长使用表别名*是全列名2.在业务密集的sql中尽量用exist代替in。区别:如果子查询得出的结果集记录少,主查询的表较大且有索引时用in。反之外层主查询记录少,子查询中的记录又有索引使用exist。 使用时这两个关键字造成了驱动顺序...

2019-11-16 10:26:07 164

原创 JVM调优

0.常见配置汇总1)堆大小设置:-Xms 初始堆大小 -Xmx 最大堆大小 -Xmn 设置年轻代大小,整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8 -Xss 设置线程大小,JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为...

2019-11-08 07:56:07 134 1

原创 设计模式——代理模式

一、简介动态代理在Java中有着广泛的应用,比如Spring AOP、Hibernate数据查询、测试框架的后端mock、RPC远程调用、Java注解对象获取、日志、用户鉴权、全局性异常处理、性能监控,甚至事务处理等。代理模式:给某一个对象提供一个代理,并由代理对象来控制对真实对象的访问。代理模式是一种结构型设计模式。代理模式有三大角色:1.抽象接口类 Subject2....

2019-11-07 11:15:49 103

原创 Java高级特性——反射

一、简介定义:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。面试经常问:如何在一个类中访问另一个类的私有方法或属性?答:1.通过几种方式获得类对象,然后通过getDeclaredField()获取Field对象,再设置字段对象的s...

2019-11-05 14:47:00 263

原创 数据结构——二叉树及代码实现

一、简介链表、栈和队列都是线性数据结构,预算存储较为简单,元素只存在一对一关系,树是更为复杂的结构,存在一对多关系,一个父节点可以包含多个子节点。二叉树是特殊的树,每个节点最多有两个子树,子树区分左右节点,次序不能颠倒。二、二叉树的Java实现与线性表相似,二叉树也有两种实现方式,一种是基于数组的二叉树,另一种是基于链表的二叉树,但是基于数组的二叉树可能会产生空间浪费,当二叉树为完全二...

2019-10-30 18:00:23 2710

原创 数据结构——栈

一、简介1.什么是栈我们用一种最简单的生活常识描述一下,比如我们往柜子里放东西,先放的东西是需要放到柜子最里边,后放的东西在柜子的最外边;如果我们要取东西,先要取柜子最外边的东西,才能取到柜子最里边的东西。这种先进后出,后进先出的结构称为“栈”。也可以看做是羊肉串,制作时候最后一块穿上的,在吃的时候回第一口被吃掉(正常情况下,排除一口撸一串的)。2.栈的特点先进后出,后进先出...

2019-10-28 11:37:14 135

原创 java 1.8常用新特性

一、Java8 Lambda表达式lambda表达式也可称为闭包,允许把函数作为参数参数传递进方法中。可以使代码变得简洁。1.1语法(params)->expression或(params)->{statements;}特征:可选类型声明:无需声明参数类型,编译器统一识别;可选的参数圆括号:一个参数无需定义圆括号,多个参数需要定义圆括号;可选的大括号:主体为...

2019-10-16 15:02:24 236

原创 登记系统核心逻辑

具体业务场景是:买房了后大家都需要房产局和不动产登记中心登记,这其中很多同行小哥哥小姐姐们肯定都经历过。我们的购房合同有房产局的备案章,房产证要拿房后3个月至半年才能下来。其中走负责的系统就是这篇博客将要讲述的。最大特点是根据数据的失效性将数据分别存储于工作库,正式库和历史库。优点:冷热分离,加快查询速度;数据之间相互独立不干扰。缺点:增大维护成本,各个库之间数据拷贝消耗资源。一、...

2019-10-09 15:25:22 170

原创 SpringBoot集成Mybatis自定义拦截器,实现拼接sql和修改(二)

这篇博客主要回答前一篇小伙伴的疑问,以及最新的改进,和项目中的应用。1.mybatis使用pageHelper分页功能受影响PageHelper的实现也是通过Integerceptor拦截实现的,所以二者如果在没有配置好拦截顺序的情况下,就会出现相互干扰的情况。这个需要在配置文件或者配置类中解决,拦截器是个集合,支持添加多个拦截器,其中拦截顺序也是需要注意的。拦截器配置类如下:...

2019-09-27 10:42:16 3817 2

原创 SpringBoot2.0 JPA中findById用法

1、findOne()方法的替代方法findById()2.0版本,Spring-Data-Jpa修改findOne()。1)2.0版本之前T findOne(ID primaryKey);2)2.0版本 Optional<T> findById(ID id); 2、Optional Optional<T>的使用文档:Optionalc...

2019-09-12 11:09:00 14567 1

原创 设计模式二一适配器模式

一、简介类比:比如手机充电器,将220V交流电转化为手机能够承受的直流电适配器模式主要有三类角色:1.客户端期待的接口Target(直流电)——目标抽象类2.需要进行包装的对象(适配者)Adaptee(220V交流电)——适配者类3.通过内部包装一个Adapter对象,将接口转换为目标接口(充电器)——适配器类二、适配器2种模式1.类适配器示例:(1)首先有个已...

2019-08-13 15:29:10 141

原创 equals与==比较

1.====比较的是栈内存中存放的对象的内存地址,用来判断2个对象地址是否相同,即是否指向同一对象。(范围:栈)(1)比较的是操作符两端的操作数是否同一对象。(2)两边操作数必须是同一类型(包括父子类之间)。(3)比较的是地址,如果是基本数据类型的,值相等则为true。如int a =50与long b=50L与double c=50.0比较都是相等的(true),因为他们指向地址...

2019-07-26 11:01:42 119

原创 高并发学习总结

It's a long long story.Be patient!Java并发系列——原子更新类所在包:java.util.concurrent.atomic1、原子更新基本类•AtomicBoolean:原子更新布尔类型。•AtomicInteger:原子更新整型。•AtomicLong:原子更新长整型。方法•int addAndGet(int delta):以原子方式将输...

2019-07-25 17:43:14 153

原创 Java实现动态获取图片验证码

import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.io.Unsuppor...

2019-07-25 17:42:18 2973 3

原创 synchronized学习笔记

1.可重入:指的同一线程的外层函数获得锁之后,内层函数可以直接再次获取该锁。(递归锁)好处:避免死锁,提升封装性粒度:线程方法调用自己,方法调用其他方法,方法调用父类方法;2.不可中断一旦锁被别人获得,如果我还想获取,之鞥选择等待或者阻塞,直到其他线程释放该锁。Lock可以中断的!6.缺陷(1)效率低:锁释放情况少、试图获得锁时不能设定超时、不能中断一个...

2019-07-25 17:26:50 77

原创 Synchronized详解

1.作用能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果。2.地位(1)synchronized是java关键字,被java原生语言支持;(2)最基本的互斥同步手段(3)高并发中元老级角色3.对象锁和类锁对象锁:包括方法锁(默认锁对象为this当前实例对象)和同步代码块锁(自己指定锁对象)方法锁示例1:/** * 对象锁示例——方法修...

2019-07-25 14:31:21 128

原创 SpringBoot实现登录登出,登录态管理

账户模块中必要的功能登录登出,相信这个大家都经常使用了。简单介绍下在SpringBoot中的实现先说下实现思路:用户名密码存储在数据库中,前端发出请求,拦截器先检测用户有无登录,若有登录可直接请求接口。无需登录就可请求的接口需要加@NoLogin自定义注解。若未登录,前端跳转到登录页面,调用登录接口,系统在后台验证用户名密码,验证通过将用户信息存储在redis中和线程上下文中。一、设计...

2019-07-09 15:17:24 12591 4

转载 Java面试官的出发点

从博客上看到的,觉得很实用,分享了转发了在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间。我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面的。我也知道,不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,但面试官总是只根据面...

2019-07-05 13:56:03 132 1

原创 MySql数据库优化小结

数据库优化不一定上来就是分库分表,因为表一旦拆分,开发运维的复杂度会直线上升,对于业务量没那么大的需求先不考虑分库分表,数据量在千万条以下的先考虑做单表优化。一、单表优化1.表分区:mysql5.1后推出,可以看做是水平拆分,分区需要在建表时加分区参数,分区表底层由多个物理字表组成,,对于代码来说,分区表是透明的;Sql中的条件最好能带上分区条件的列,这样可定位到少量的分区上,否则会扫描全...

2019-07-05 11:37:56 94

原创 并发编程——AtomicInterger与i++

一、对比在高并发的情况下整形数值自增并不是线程安全的,在双11抢购是发统计某网页浏览量,这时可以用到原子更新整形AtomicInteger。先看个例子:public class TestAtomicInteger { static int a=0; public static void main(String args[]){ CountDownLa...

2019-07-04 15:21:31 1042

原创 Spring AOP无法拦截内部方法

Spring AOP无法拦截内部方法调用spring aop之对象内部方法间的嵌套失效来看一个内部调用失败的经典例子://如果存在事务,则抛出异常。public class TxDemo{ @Transactional(propagation = Propagation.NEVER) public void serviceH() { UserInfoV...

2019-05-20 16:57:44 973

原创 AOP实现(一)——SpringBoot中AspectJ编程实现

一、什么是aop?Aspect Oriented Programming的缩写,面向切面编程,通过预编译和动态代理实现程序功能的统一维护的一种技术主要功能:日志记录,性能统计,安全控制,事务处理,异常处理等。二、SpringAOP的实现方式下边这两种Spring都是支持的2.1预编译-AspectJ 完整的面向切面编程解决方案--》spring不是完整的解决方案,不过sprin...

2019-05-07 14:59:53 745

原创 设计模式一简单工厂模式,工厂模式和抽象工厂模式

写在前面:设计模式,面试被提问率100%的知识点,体现你编程思路和面向对象理解,在各个框架中设计模式被应用的非常广泛。行了,吹不下去了,一句话,这很重要。。。工厂模式:定义了一个用于创建对象的接口,让子类决定实例化哪个类,工厂方法使一个类的实例化延迟到其子类。一般含有一下对象:1、抽像工厂类Factory 定义一个创建对象的接口 2、生产对应的产品的具体工厂类ConcretePro...

2019-05-06 16:49:08 125

原创 如何利用SFTP充当文件服务器

背景项目中有了上传文件的需求,但是因为文件服务器申请比较麻烦,开发测试阶段先用了现有SFTP服务搭建文件服务器。实现了文件的上传下载。由于不太懂运维相关的知识,其实网上有很多用nigix搭建的教程,所以只得借助java搭建了文件服务,下面给大家分享下实现过程:一、搭建SFTP服务,这个挺简单的,感兴趣的可以参照http://www.cnblogs.com/yanduanduan/p/9...

2019-04-19 16:23:54 859 1

原创 Java IO流小结与常用类之间的相互转换

一、简介Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列,也就是大家习惯称呼的字节流和字符流。网上有个很好的比喻:数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道...

2019-04-10 16:14:05 613

原创 SpringAOP切面编程实现 映射表关系自动关联

一、背景最近有个项目要求不改动业务表的前提下,实现应用切换,已有业务表t_a,t_b,t_c,关系映射表t_config_mapping,应用列表t-app,t_user等等,我的任务是完成表间关系映射,查看时用到了mybatis拦截器,插入时用了申请springAOP拦截并做了统一处理。这里着重介绍SpringAOP的实现。(对mybatis感兴趣的可以关注下我博客的另一篇,其中包含了很多踩...

2019-02-26 11:41:46 357

原创 Springboot中controller接参几种形式

一、请求路径参数1.@PathVairable获取路径参数,url{id} 形式。2.@RequestParam获取查询参数,url?name= 形式。实例GEThttp://localhost:8282/helloworld/2019?name=Naland对应java代码://@RequestMapping(value = "/helloworld/{id...

2019-01-22 18:26:10 568

原创 SpringBoot集成Mybatis自定义拦截器,实现拼接sql和修改(一)

一、应用场景1.分页,如com.github.pagehelper的分页插件实现;2.拦截sql做日志监控;3.统一对某些sql进行统一条件拼接,类似于分页。二、MyBatis的拦截器简介然后我们要知道拦截器拦截什么样的对象,拦截对象的什么行为,什么时候拦截?在Mybatis框架中,已经给我们提供了拦截器接口,防止我们改动源码来添加行为实现拦截。说到拦截器,不...

2019-01-11 14:50:23 28605 20

原创 MySql时间函数用法

1.当前时间-now()select now();2.系统当前时间-sysdate()(函数执行时动态得到的)select SYSDATE(),now();select now(),sleep(3),now();select SYSDATE(),SLEEP(3),SYSDATE();3.获取当前时间戳函数-CURRENT_TIMESTAMP,CURRENT_TIMESTAMP()...

2018-10-22 11:03:41 159

原创 windows环境下,git配置秘钥不生效解决

使用git过程中会出现反复让你输入用户名和密码的情况,比较烦吗,因此我们可以配置SSH KEY,让我们在拉取和提交代码是不用输入密码。但是配置过程中可以出现配置好的秘钥不生效的情况。1.在搭建的git网站删除原有key,如图2.配置用户名和邮箱,在gitbash中操作<1>查看用户名和邮箱git config user.namegit config user.e...

2018-09-29 10:20:51 6560 1

原创 git add -u, git add -A与git add .的差别

总结:·  git add -A  提交所有变化·  git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)·  git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件...

2018-09-05 16:31:46 1457

转载 Git常用指令

常用操作1、生成一个可供发布的压缩包git archive2、初始化用户操作git config -global user.name #设置提交者名字git config -global user.email #设置提交者邮箱git config -global core.editor #设置默认文本编辑器git config -global merge.tool #设置解决...

2018-08-27 16:38:02 118

原创 java方法中参数传递小结

很简单的java基础,竟然有点遗忘了,是在不改,烂笔头记录一下。 1、当对象作为参数传递时,传递的是对象的引用,也就是对象的地址。值实时更新!(一般项目中常见的对象作为参数很多,记住对象会在方法中实时更新!!!因为方法中操作的是同一个对象)public class ParameterTransfer {     public static void main(String[] ar...

2018-08-27 16:14:54 367

原创 JavaBean,POJO,VO,DTO的区别和联系

1.JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。2.VO即value object值对象主要体现在视图的对象,对于一个WEB页面将整个...

2018-08-27 15:14:53 218

合作共赢2.pptx

修改后的商务汇报PPT模板,自用,针对姓名内容等部分有填充

2019-07-30

合作共赢.pptx

商务汇报用的PPT模板。

2019-07-30

工作经验,学习到的知识碎片整理

工作经验,学习到的知识碎片整理. spring中常见的http请求访问方法

2019-04-03

空空如也

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

TA关注的人

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