自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 二叉树最大深度和最小深度

int minDepth(TreeNode * root)    {        if(root == NULL)            return 0;        if(root->left == NULL && root->right == NULL)            return 1;        int left = minDepth...

2019-02-09 21:38:44 309

原创 jdk1.8-Lambda函数表达式

2018年初开的新项目,一直忙到7月份,现在终于有时间总结下收获了技术选型还算前言:springbootNginxspringCloudRedispostgresql今天要整理一些项目中使用到的java8新特性,主要是Lambada函数表达式的实用,感觉非常好用项目马上要完结了,短短5、6个月学到的东西还是非常多的.总比以前的项目维护都快两年了,技术一点没变,就业务越来越熟,...

2018-09-08 15:54:13 830

原创 递归算法

今年上半年开展新项目, 每天都很忙但也很充实, 学到了很多东西, 比如如何处理50M以上的Excel, 批量处理10W+的数据,新的设计模式等。。。本次分享的是一个小技巧-递归算法。大家做java多年,都知道每天都会有很多if else. 在需求允许情况下,采用递归提升代码质量和简洁,也是一种有效方法总结Demo如下 package digui;/*** * 1.递归的边界条...

2018-08-07 22:53:13 363

原创 设计模式-责任链

    由于项目需要, 在一个请求处理多个对象场景, 再三合计感觉设计模式-责任链非常适合    使用之后感觉责任链模式还是很强大的, 即使多个对象都有机会处理请求, 还避免发送者与接受者的耦合    废话不多说, Demo直接开干 package zerenlian;/** * 创建责任链 * @author Lisa-Luo */public class Fact...

2018-08-07 22:16:56 244

原创 Exception:can not deserialize instance of java.util.ArrayList out of START_OB

        今天遇到一个非常简单的问题,就是我使用spring boot写的一个Controller时,原本Method传的是一个对象,但是后面改为List对象了.写完自己测试的时候一直报标题这个错误.        在此对自己的粗心和报错总结下:        1.主要是服务器数据和客户端数据类型不一致        2.传参格式:[{},{},{}]        3.后续解决办法和代码有...

2018-04-15 20:42:54 1252

转载 Oracle实现时间区间查询

非常有用的总结,全部是干活,收藏Sql代码  /* 日期时间范围查询 */    ---------- 创建日期时间测试表-----------------------------------------------------------    www.2cto.com  create table testdatetime(         ID integer not null primary...

2018-04-09 22:38:55 17705

转载 PO DTO VO BO

POJO PO BO DTO VO 我归在一起,因为PO DTO VO BO 都叫是POJO,就是个简单的java对象;DAO 的话就是进行数据库增删改查的类。下面重点说下这几个,他们都是POJOPO 持久对象,数据;BO 业务对象,封装对象、复杂对象 ,里面可能包含多个类;DTO 传输对象,前端调用时传输 ;VO 表现对象,前端界面展示。当你业务足够简单时,一个POJO 也完全当做PO BO D...

2018-04-03 23:02:19 399

转载 Springboot 常用注解

@SpringBootApplication:包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上。@Repository:用于标注数据访问组件,即DAO组件。@Service:用于标注业务层组件。 @RestController:用于标注控制层组件(如struts中的action),包含@Controller和@Respo...

2018-04-03 21:45:49 212

原创 static关键字的作用

最近在开发中使用static关键字,发现了一些非常有趣事情,在这对static做下总结作用:第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。第二,实现某个方法或属性与类而不是对象关联在一起使用场景:修饰变量、修饰方法,静态块,静态内部类,静态导包(1)static成员变量:Java类提供了两种类型的变量:用static关键字修饰的静态变量和不用static关键字修饰的实例变...

2018-03-30 09:34:48 1172

原创 使用jdbc操作Oracle常犯错误

最近在新电脑上装了oracle,想通过java访问数据库,平时在工作中这些其实都是非常简单的操作,但是等到自己亲自操作发现手生了,以下是对此次操作的总结,也在网上收集了一些注意事项。也警惕以后写代码不要养成惯性思维.(1)保证用户名、密码正确性(2)保证访问的表数据commit,否则查询回来数据为空,针对这个问题可通过rs.next()查看(3)关闭连接不要第一步就close掉con,最好从结果集...

2018-03-29 15:04:44 298

原创 一名中级JAVA需要掌握的知识点

时光飞逝,转眼已入行三年之久,此时的心情说实话五味杂陈。当你经历过一次工作变动,你才知道你到底是一个怎样的人,你在行业处于一个什么样地位,你有什么是让企业给你行业标准薪资又或者说高于标准薪资的能力?当你经历过这些,你才知道自己到底有几斤几两。本篇微博算是一次总结,希望在今后能够在工作中,年限在增长,经验与能力也要与之匹配。 基本语法:Static,Transient,foreach循环的原理,Sw...

2018-03-26 21:40:17 40963 26

原创 SpringMVC流程图

分享一下SpringMVC非常清晰的结构图SpringMvc是spring的一个模块 基于MVC的一个框架 无需中间整合层来整合 流程 1、用户发送请求至前端控制器DispatcherServlet 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给Dispatche...

2018-03-19 22:23:16 419

转载 Spring简介2

1.谈谈你对spring IOC和DI的理解,它们有什么区别?IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理,简单说,就是创建UserService对象控制权被反转到了Spring框架DI:Dependency Injection 依赖注入,在Spring框架负责创建Bean对象时,动态的将依赖对...

2018-03-19 22:06:56 178

转载 Spring简介1

1、spring原理       内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。        Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也...

2018-03-19 21:56:13 208

转载 ArrayList工作原理及实现

1. 概述关于Java集合的小抄中是这样描述的:以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素—get(i)/set(i,e) 的性能很高,这是数组的基本优势。直接在数组末尾加入元素—add(e)的性能也高,但如果按下标插入、删除元...

2018-03-17 17:58:11 377

转载 Java集合框架图

    黄色的代表接口,绿色的是抽象类,蓝色的具体类。下述所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含hashNext(), next(), remove()三种方法。    它的一个子接口LinkedIterator在它的基础上又添加了三种方法,分别是add(),previous(),hasPrevious()。也就是说如果是先Iterator接口,那么...

2018-03-17 16:00:34 344

转载 HashMap工作原理

一、HashMap的基本了解      基本定义:根据源代码的描述可知,HashMap是基于哈希表的Map接口的实现,其包含了Map接口的所有映射操作,并且允许使用null键和null值。      与HashTable的区别:HashMap可以近似地看成是HashTable,但是它是非线程安全的,并且允许使用null键和null值,而这些都与HashTable恰巧相反。注:HashMap可以使用...

2018-03-11 23:23:07 171

转载 ConcurrentHashMap原理分析

一.Java并发基础当一个对象或变量可以被多个线程共享的时候,就有可能使得程序的逻辑出现问题。 在一个对象中有一个变量i=0,有两个线程A,B都想对i加1,这个时候便有问题显现出来,关键就是对i加1的这个过程不是原子操作。要想对i进行递增,第一步就是获取i的值,当A获取i的值为0,在A将新的值写入A之前,B也获取了A的值0,然后A写入,i变成1,然后B也写入i,i这个时候依然是1. 当然java的...

2018-03-11 23:10:02 194

转载 java.util.Date和java.sql.Date的区别和转化

共同点:都有getTime方法返回毫秒数,可以直接构建不同点:1、java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分,一般在读写数据库的时候用,PreparedStament的setDate()的参数和ResultSet的getDate()方法的都是java.sql.Date2、java.util.Date是在除了SQL语句的情况下面使用,一般是日常日期字段3、java....

2018-03-11 20:20:23 198

转载 try.catch.finally执行过程

public static int testBasic(){ int i = 1; try{ i++; System.out.println("try block, i = "+i); }catch(Exception e){ i ++; System...

2018-03-08 22:05:21 290

转载 Redis简介

二、Redis简介Redis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(Strings),散列(Hash),列表(List),集合(Set),有序集合(Sorted Set或者是ZSet)与范围查询,Bitmaps,Hyperloglogs 和地理空间(Geospatial)索引半径查询。其中常见的数据结构类型有:String、L...

2018-03-08 21:34:08 365

转载 Nginx系列介绍(一)

一、介绍        Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。         Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx...

2018-03-06 00:17:52 632

转载 防止SQL注入解析

一、SQL注入简介    SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。二、SQL注入攻击的总体思路1.寻找到SQL注入的位置2.判断服务器类型和后台数据库类型3.针对不通的服务器和数据库特点进行SQL注入攻击 三、SQL注入攻击实例比如在一个登录界面,要求输入用户名和密码:可以这样输入实现...

2018-03-04 23:01:36 261

转载 mybatis中的#和$的区别

#相当于对数据 加上 双引号,$相当于直接显示数据1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入...

2018-03-04 22:58:29 226

转载 Java性能调优的11个技巧

大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识。是的,这并不没有错。诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事。下面有几个很容易遵循的建议和最佳实践能够帮你创建一个性能良好的应用程序。这些建议中的大多数都是基于Java的,但是也不一定,也有一些是可以应用于所有的应用程序和编程语言的。在我们分享基于Java的...

2018-03-04 22:21:37 275

转载 Java中使用switch-case的用法及注意事项

1.switch-case注意事项:    switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte、short、int、char、还有枚举;需要强调的是:long和String类型是不能作用在switch语句上的。     case B:C;case是常量表达式,也就是说B的取值只能是常量(需要定义一个final型的常量,后面会详细介绍原因)或者int、byte、s...

2018-03-03 01:21:17 5317

转载 JAVA多线程和并发

多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环...

2018-03-03 00:24:07 149

转载 HashMap总结

1.hashing的概念2.HashMap中解决碰撞的方法3.equals()和hashCode()的应用,以及它们在HashMap中的重要性4.不可变对象的好处5.HashMap多线程的条件竞争6.重新调整HashMap的大小 HashMap的数据结构是通过数组和链表来实现数据的存储,存储结构实际就是哈希表常见面试问题:1.“你知道HashMap的工作原理吗?” “你知道HashMap的get(...

2018-03-03 00:04:08 271

转载 Redis、MemCache总结

1. 使用redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期...

2018-03-02 23:47:08 184

转载 字符串数组(String []) 去掉重复值的方法

public class Demo { /** * 去掉重复值 */ public static void main(String[] args) { String test = "100,120,166,1555,120,150,100"; String[] test1 = test.split(","); A...

2018-03-01 22:07:34 3880

转载 HashMap、HashTable的key和value是否可为null

public class Test {        public static void main(String[] args) {          Map<String, String> map = new HashMap<String, String>();//HashMap对象          Map<String, String> tableMap...

2018-03-01 21:34:29 1791

转载 Spring事务隔离级别与传播机制

1.事务的定义:事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功。其必须遵循四个原则(ACID)。原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做;一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是应该处于正确的状态,即数据完整性约束没有被破坏;如银行转帐...

2018-02-28 23:18:41 280

转载 Java的poi技术读取和导入Excel

报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑。Java程序由于其跨平台特性,不能直接操纵Excel。因此,本文探讨一下POI视线Java程序进行Excel的读取和导入。作者:Hongten来源:Hongten的博客|2012-02-22 09:44 收藏  分享项目结构:用到的Excel文件:XlsMain .java 类//该类有main方法,...

2018-02-28 22:32:12 379

转载 Java反射机制详解

java 反射 定义 功能 示例概要:Java反射机制详解| |目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过反射机制操作某个类的属性·反射机...

2018-02-28 22:30:27 163

转载 SpringMVC 的工作原理和机制

工作原理上面的是springMVC的工作原理图:1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cooki...

2018-02-28 22:26:32 386

转载 获取资源文件地址getClassLoader

this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream本文转自:http://xixinfei.iteye.com/blog/1256291this.getClass().getClassLoader().getResource("template");   首先,调用对象的getClass()方...

2017-12-15 17:14:47 2566

转载 常规Oracle语句与存储过程语句

常规数据存储

2017-11-25 21:51:55 767

原创 JAVA实现图片加水印及Base64图片字符串加水印

JAVA实现图片加水印及Base64图片字符串加水印可将根据不同需求选择场景一,场景二来实现家水印操作,个人感觉比我上一遍文章base64字符串加水印 >实在场景一:涉及上送过来的不直接是图片,而是Base64字符串,则先需转换读取,然后再打上水印,最后再合成一张返回Base64package transtion; import java.awt.AlphaComposit

2017-11-24 13:19:24 4758

转载 小中型业务常用数据库优

1.对于查询进行优化,尽量避免全表扫描,首先应考虑在where及order by 涉及的列加索引2.尽量避免在where子句中对字段进行null值判断,否则会导致引擎放弃使用索引而而进行全表扫描select id from t where num is null3.尽量设置not null,因为null也有可能占空间,cahr(100),建表时已占100字符,若为var

2017-11-20 22:52:50 299

转载 base64字符串加水印

[java] view plain copypackage test;    /**  * 处理水印类  */  import java.awt.AlphaComposite;  import java.awt.Color;  import java.awt.Graphics2D;  import java.awt.geom.Affi

2017-11-20 22:14:29 1948 1

空空如也

空空如也

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

TA关注的人

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