自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 02-动态规划-凑零钱问题

数据结构-动态规划算法

2022-12-10 17:11:29 811 1

原创 01 动态规划 --斐波那契数列

数据结构

2022-12-10 15:01:31 280

原创 Spring采用注解的方式,实现Controller层异常全局处理

背景: 最近在工作中对接权限中台服务,采用他们的服务对我们方法级别的接口进行权限控制。权限中台对方法级别进行权限控制是采用注解@access 形式进行控制的。结果我发现,某个方法在某个用户没有权限访问的时候会抛出异常。对于这样的异常,我们该如何去处理。由于在异常是在注解上报出来的,不能使用传统的try-catch 去处理。 这个时候就可以使用@ControllerAdvice+...

2020-02-26 19:52:13 992

原创 LeetCode--无重复字符的最长子串

题目: 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例3:输入: "pwwkew"输出: 3解释: 因为无重...

2019-09-23 14:11:39 391

原创 单例模式二 之 不使用synchronized和lock,如何实现一个线程安全的单例

前言:单例模式,在设计模式中是比较常见的一种设计模式了,我们知道单例模式在并发的情况下要保证线程安全。作为Java程序员,我们一般采用加Synchronized锁的方式来保证线程安全的。问题:现在问题来了---如果我们不使用synchronized和lock这样加锁的方式,如何实现一个线程安全的单例呢?解决方案:第一种:可以使用恶汉模式实现单例public class Singl...

2019-07-27 16:05:59 763

转载 Linux中~和/的区别

/是目录册的分隔、表示符。只有一个/表明是root,/etc/表明是根目录项目的etc目录(目录最后不需要/),但是/直接表明他是目录,没有末尾的/,那么/etc就需要确定下是目录还是文件,一般都是目录。 ~ 是当前用户的目录地址 / 是根目录的地址(一般称呼为root,/ 和 /root/ 是有区别的) / 也指目录分隔符...

2019-07-27 13:37:04 657

转载 Java中SPI机制的理解

1 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。 系统设计的各个抽象,往往有很多不同的实现方案,在面向对象的设计里,一般推荐模块之间基于接口的编程,模块之...

2019-07-17 20:12:35 145

转载 Spring缓存注解@Cacheable、@CacheEvict、@CachePut的使用

从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对...

2019-07-17 00:14:22 113

原创 分布式配置管理平台之Disconf使用流程

概念 专注于各种「分布式系统配置管理」的「通用组件」和「通用平台」, 提供统一的「配置管理服务」。使用流程 第一步:去disconf服务器上上传自己项目的配置文件。添加app,app名称对应自己的项目。 添加配置文件,版本自定义例如 0_0_2,然后选择输入方式,key值填youFile.properties下面的值填写自己所需要的配置(注:key:youFile....

2019-07-16 23:37:38 492

转载 负载均衡概述

在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户的流量进行均衡减压的,因此在互联网的大流量项目中,其重要性不言而喻。一、什么是负载均衡?早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求。随着现在互联网的流量越来越大,稍微好一点的系统,访问量就非常大了,并且系统的功能也越来越复杂,那么单...

2019-03-26 14:06:27 318

转载 Java后端面试题

腾讯2010届春招面试题:一面: 1.自我介绍 2.介绍项目 3.HashMap原理 4.Hash的碰撞解决办法(数据结构)开放地址法、rehash(再hash法)、链地址法 5.StringBuilder和StringBuffer的区别我说到了String常量,字符串操作中最慢,之后就是StringBuilder和StringBuf...

2019-03-23 17:11:45 585

转载 Http长连接与短连接

Http长连接与短连接1、Http协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。2、如何...

2019-03-13 19:39:33 92

转载 Http会话的四个过程,选出一个不是的

1.HTTP的会话有四个过程,请选出不是的一个(D)A.建立连接B.发出响应信息C.发出请求信息D.传输数据分析:HTTP协议客户端连上web 服务器后,若想获得 web 服务器中的某个 web 资源,需遵守一定的通讯格式, HTTP 协议用于定义客户端与 web 服务器通迅的格式。WEB浏览器与 WEB 服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是 ...

2019-03-13 19:01:27 833

原创 2019春招进行时--持续更新

一、选择题知识点1、异常类的理解 1.1 异常分类 1)所有的异常类是java.lang.Exception的子类。 2)异常分为检查性异常和非检查性的异常又叫运行时异常 3)所有检查性异常是继承自java.lang.Exception,除了RuntimeException以外的异常。 4)所有非检查...

2019-03-08 17:57:15 242

原创 CentOS启动Redis 5.0.3出现WARNING的解决办法

问题描述:最近在安装Redis,启动Redis-server出现如下错误:WARNING:The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.4408:M 06 Jan 2019 19:57:13.491...

2019-01-07 14:36:28 561

原创 CentOS安装Redis出现make[1]....CC.adlist.o的解决办法

问题描述:最近在CentOS环境下使用安装Redis出现make cc Command not found,make: *** [adlist.o] Error 127 问题,这是由于CentOS系统没有装gcc解决办法:(1)使用yum安装gcc :yum install  gcc                   (2)清空上次编译失败的残留文件(这个很重要,不然会一直安装失败)...

2019-01-05 20:16:56 2884

原创 CentOS使用yum安装软件出现 Error:Cannot find a valid baseurl for repo:base的解决办法

问题描述:最近在学习Linux使用yum安装软件,出现如下错误Loaded plugins:fastest mirror,securityDeterming fastest mirrorsYumRepo Error:All mirror URLs are not using ftp,http[s] or file.Eg.Invaliad release/repo/arch combin...

2019-01-05 19:49:39 12751 2

原创 mount : block device /dev/cdrom is write-protected, mounting read-only解决问题

问题描述:最近在学习Linux,在VMware中安装vmvare-tools工具时候,用到mount /dev/cdrom  /mnt/cdrom出现错误,错误显示mout:block device /dev/cdrom is write-protected,mounting read-only。意思大概是/dev/cdrom 是写权限保护的,mounting操作不来,只有读权限。解决办法:...

2018-12-07 15:34:52 39206 2

原创 在Linux服务器发布项目出现java.util.zip.ZipException: error in opening zip file 错误

 问题描述:代码在本地环境下测试正常,发布到Linux服务器就报如下错误。java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:225) at...

2018-09-21 20:33:26 3092

原创 单例模式

一、概念:单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。二、单线程下的单例模式:需要注意:使其构造函数私有化,让外界无法new实例;Singleton类提供一个GetInstance()静态方法,负责创建他的唯一实例。class Singleton{ private static Singleton instance; //构造方式使其priva...

2018-09-05 11:24:06 123

转载 mysql中insert into select from的使用

如何在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现。具体情形是:有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,我们可以使用如下的语句来实现: INSERT INTO table1(field1,field2) SELECT field1,field2 FROM table2当然,上面的语句比较适合...

2018-08-17 11:28:53 2654

原创 Java实现深度优先遍历和广度优先遍历

概念定义:深度优先遍历:深度优先遍历是图论中的经典算法。其利用了深度优先搜索算法可以产生目标图的相应拓扑排序表,采用拓扑排序表可以解决很多相关的图论问题,如最大路径问题等等。根据深度优先遍历的特点我们利用Java集合类的栈Stack先进后出的特点来实现。我用二叉树来进行深度优先搜索。深度优先搜索的步骤为:(1)、首先节点 1 进栈,节点1在栈顶;(2)、然后节点1出栈,访问...

2018-08-16 15:38:33 45111 11

原创 LeetCode 128 最长连续序列

题目:    给定一个未排序的整数数组,找出最长连续序列的长度。    要求算法的时间复杂度为 O(n)。示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。思路解析:由于题目要求算法的时间复杂度是O(n),所以用一般的排序算法解决不了。我在这里使用的是HashMap...

2018-08-16 10:44:00 7146 2

原创 探究一下ArrayList中contains方法源码

问题导向:最近在项目开发中遇到了比较一个ArrayList<People>对象是否包含某一个people类的实例,我直接调用ArrayList的contains方法结果被老大训了一顿,因为我比较两个对象是都相等其实是比较两个对象的内容是否相同,而不是地址。而直接调用Contains()方法,底层实现其实是调用了Object类的equals()方法,Object类的equals方法底层实...

2018-08-13 11:37:10 827 2

转载 枚举--称假币

问题描述:赛利有 12 枚银币。其中有11 枚真币和1 枚假币。假币看起来和真币没有区别,但是重量不同。但赛利不知道假币比真币轻还是重。于是他向朋友借了一架天平。朋友希望赛利称三次就能找出假币并且确定假币是轻是重。例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的。如果赛利用一枚真币与另一枚银币比较,发现它比真币轻或重,说明它是假币。经过精心安排每次的称量,赛利保证在称三次后确定假币。...

2018-08-10 16:18:21 737

原创 【牛客--0002】-钱币拼凑

题目:给你六种面额 1、5、10、20、50、100 元的纸币,假设每种币值的数量都足够多,编写程序求组成N元(N为0~10000的非负整数)的不同组合的个数。 时间空间限制:    时间限制:1秒    空间限制:32768K输入描述:     输入包括一个整数n(1 ≤ n ≤ 10000)输出描述:     输出一个整数,表示不同的组合方案数输入例子1:  ...

2018-08-10 14:27:37 286

原创 【牛客--0001】-大富翁游戏

题目描述:    大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步。求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法。时间空间限制:     时间限制:1秒    空间限制:32768K输入描述:输入包括一个整数n,(1 ≤ n ≤ 6)输出描述:输出一个...

2018-08-09 11:28:27 847

原创 mybatis批量插入之foreach

(1)、先建立表StudentCREATE TABLE Student( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL, class VARCHAR(32) NOT NULL)(2)、StudentDao类接口void insertStu(List<Student> stuList);(3...

2018-08-07 17:17:05 217

转载 mybatis中“#”与“$”的区别

    动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。在下面的语句中,如果 userName 的值为 Lisa,则两种方式无任何区别:select * from User where user_name=#...

2018-08-07 16:46:44 112

原创 Mybatis一个搜索框对多个字段进行模糊查询

1、问题描述:最近项目需要提供一个搜索框对多个字段进行模糊查询的操作代替下拉列表选择单个字段条件进行模糊查询的操作。2、解决办法:之前的四个条件的模糊查询代码 <if test="featureCode != null"> AND plm_model_option.feature_code= #{featureCode} </if...

2018-08-02 15:37:39 12788 8

原创 Git命令:切换分支 & 下载指定分支命令

git一般有好多分支,最近项目中将master分支代码clone到本地,用到一些git命令,于是记录一下。1、查看远程分支$ git branch -a$ git branch -a* dev master remotes/origin/HEAD -> origin/master remotes/origin/dev remotes/origin/maste...

2018-08-02 14:09:23 19333 3

原创 java对URL中含有的特殊字符"&"的处理

1、问题描述:最近在做java导出文件到excel项目中遇到请求的URL包含参数&的时候,导出的文件里面内容为空,什么都没有。2、问题排查:首先我查看项目运行的日志,发现打印出来的错误信息是空指针异常java.lang.NullPointException.然后发现页面上是有信息不应该是空指针异常。于是我把请求的参数信息在本地测接口,发现导出的excel文件中有数据,正常显示。于是我猜...

2018-07-20 14:11:12 5164

原创 Java使用Apache.POI导出文件到excel之合并单元格

   1、问题描述:最近Java项目中需要用到使用Apache.poi导出文件到excel,用到合并单元格的操作。特此记录一下合并单元格的代码步骤,以及合并后的效果。  2、Demo展示:合并单元格Demo的代码如下所示。public class Excel2 { public static void main(String[] args) throws IOException {...

2018-07-20 09:54:36 12013 2

原创 Java使用Apache.POI中HSSFWorkbook导出到excel

1、POI 介绍      Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。基本功能:     HSSF - 提供读写Microsoft Excel格式档案...

2018-07-16 13:28:53 5966

转载 eclipse中@Slf4j找不到log变量的问题解决办法

问题描述:        今天从Gitlab上导入一个项目Java项目到eclipse,发现很多类的log变量找不到,并且很多类中出现setter,getter方法也报错。如下图所示。解决办法:        发现这个问题后,从网上搜了一下,原来是eclipse中没有安装Lombok插件的原因。发现网上好多博客说在https://projectlombok.org/download 下载Lombo...

2018-07-10 14:11:02 25656 7

原创 eclipse工程右键->Team没有选项,无法与Gitlab资源库连接

问题描述:        首先在本地新建一个文件夹git-clone将Gitlab上的一个项目克隆到本地,然后将项目导入到eclipse.然后右键工程,team里面没有相关功能。解决办法:        右键此项目,team中选择share project选项,这个时候已经有个路径了,直接使用该路径进行管理,选择finish,问题成功解决。成功解决的截图如下图所示。                ...

2018-07-09 09:54:01 5515

空空如也

空空如也

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

TA关注的人

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