JAVA
小提提la
珍惜现在,把握将来!
展开
-
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 · 1868 阅读 · 1 评论 -
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 · 172 阅读 · 0 评论 -
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 · 167 阅读 · 0 评论 -
HashMap工作原理
一、HashMap的基本了解 基本定义:根据源代码的描述可知,HashMap是基于哈希表的Map接口的实现,其包含了Map接口的所有映射操作,并且允许使用null键和null值。 与HashTable的区别:HashMap可以近似地看成是HashTable,但是它是非线程安全的,并且允许使用null键和null值,而这些都与HashTable恰巧相反。注:HashMap可以使用...转载 2018-03-11 23:23:07 · 150 阅读 · 0 评论 -
Java性能调优的11个技巧
大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识。是的,这并不没有错。诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事。下面有几个很容易遵循的建议和最佳实践能够帮你创建一个性能良好的应用程序。这些建议中的大多数都是基于Java的,但是也不一定,也有一些是可以应用于所有的应用程序和编程语言的。在我们分享基于Java的...转载 2018-03-04 22:21:37 · 243 阅读 · 0 评论 -
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 · 203 阅读 · 0 评论 -
Nginx系列介绍(一)
一、介绍 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。 Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx...转载 2018-03-06 00:17:52 · 605 阅读 · 0 评论 -
Spring简介1
1、spring原理 内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。 Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也...转载 2018-03-19 21:56:13 · 176 阅读 · 0 评论 -
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 · 155 阅读 · 0 评论 -
static关键字的作用
最近在开发中使用static关键字,发现了一些非常有趣事情,在这对static做下总结作用:第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。第二,实现某个方法或属性与类而不是对象关联在一起使用场景:修饰变量、修饰方法,静态块,静态内部类,静态导包(1)static成员变量:Java类提供了两种类型的变量:用static关键字修饰的静态变量和不用static关键字修饰的实例变...原创 2018-03-30 09:34:48 · 1128 阅读 · 0 评论 -
一名中级JAVA需要掌握的知识点
时光飞逝,转眼已入行三年之久,此时的心情说实话五味杂陈。当你经历过一次工作变动,你才知道你到底是一个怎样的人,你在行业处于一个什么样地位,你有什么是让企业给你行业标准薪资又或者说高于标准薪资的能力?当你经历过这些,你才知道自己到底有几斤几两。本篇微博算是一次总结,希望在今后能够在工作中,年限在增长,经验与能力也要与之匹配。 基本语法:Static,Transient,foreach循环的原理,Sw...原创 2018-03-26 21:40:17 · 40626 阅读 · 26 评论 -
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 · 1137 阅读 · 0 评论 -
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 · 371 阅读 · 0 评论 -
设计模式-责任链
由于项目需要, 在一个请求处理多个对象场景, 再三合计感觉设计模式-责任链非常适合 使用之后感觉责任链模式还是很强大的, 即使多个对象都有机会处理请求, 还避免发送者与接受者的耦合 废话不多说, Demo直接开干 package zerenlian;/** * 创建责任链 * @author Lisa-Luo */public class Fact...原创 2018-08-07 22:16:56 · 203 阅读 · 0 评论 -
递归算法
今年上半年开展新项目, 每天都很忙但也很充实, 学到了很多东西, 比如如何处理50M以上的Excel, 批量处理10W+的数据,新的设计模式等。。。本次分享的是一个小技巧-递归算法。大家做java多年,都知道每天都会有很多if else. 在需求允许情况下,采用递归提升代码质量和简洁,也是一种有效方法总结Demo如下 package digui;/*** * 1.递归的边界条...原创 2018-08-07 22:53:13 · 331 阅读 · 0 评论 -
jdk1.8-Lambda函数表达式
2018年初开的新项目,一直忙到7月份,现在终于有时间总结下收获了技术选型还算前言:springbootNginxspringCloudRedispostgresql今天要整理一些项目中使用到的java8新特性,主要是Lambada函数表达式的实用,感觉非常好用项目马上要完结了,短短5、6个月学到的东西还是非常多的.总比以前的项目维护都快两年了,技术一点没变,就业务越来越熟,...原创 2018-09-08 15:54:13 · 756 阅读 · 0 评论 -
ArrayList工作原理及实现
1. 概述关于Java集合的小抄中是这样描述的:以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素—get(i)/set(i,e) 的性能很高,这是数组的基本优势。直接在数组末尾加入元素—add(e)的性能也高,但如果按下标插入、删除元...转载 2018-03-17 17:58:11 · 344 阅读 · 0 评论 -
Java集合框架图
黄色的代表接口,绿色的是抽象类,蓝色的具体类。下述所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含hashNext(), next(), remove()三种方法。 它的一个子接口LinkedIterator在它的基础上又添加了三种方法,分别是add(),previous(),hasPrevious()。也就是说如果是先Iterator接口,那么...转载 2018-03-17 16:00:34 · 314 阅读 · 0 评论 -
常规Oracle语句与存储过程语句
常规数据存储转载 2017-11-25 21:51:55 · 728 阅读 · 0 评论 -
JAVA实现图片加水印及Base64图片字符串加水印
JAVA实现图片加水印及Base64图片字符串加水印可将根据不同需求选择场景一,场景二来实现家水印操作,个人感觉比我上一遍文章base64字符串加水印 >实在场景一:涉及上送过来的不直接是图片,而是Base64字符串,则先需转换读取,然后再打上水印,最后再合成一张返回Base64package transtion; import java.awt.AlphaComposit原创 2017-11-24 13:19:24 · 4624 阅读 · 0 评论 -
小中型业务常用数据库优
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 · 255 阅读 · 0 评论 -
获取资源文件地址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 · 2508 阅读 · 0 评论 -
SpringMVC 的工作原理和机制
工作原理上面的是springMVC的工作原理图:1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cooki...转载 2018-02-28 22:26:32 · 361 阅读 · 0 评论 -
Java反射机制详解
java 反射 定义 功能 示例概要:Java反射机制详解| |目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过反射机制操作某个类的属性·反射机...转载 2018-02-28 22:30:27 · 140 阅读 · 0 评论 -
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 · 351 阅读 · 0 评论 -
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 · 262 阅读 · 0 评论 -
Spring事务隔离级别与传播机制
1.事务的定义:事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功。其必须遵循四个原则(ACID)。原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做;一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是应该处于正确的状态,即数据完整性约束没有被破坏;如银行转帐...转载 2018-02-28 23:18:41 · 238 阅读 · 0 评论 -
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 · 1765 阅读 · 0 评论 -
字符串数组(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 · 3803 阅读 · 0 评论 -
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 · 248 阅读 · 0 评论 -
JAVA多线程和并发
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环...转载 2018-03-03 00:24:07 · 129 阅读 · 0 评论 -
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 · 5193 阅读 · 0 评论 -
二叉树最大深度和最小深度
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 · 258 阅读 · 0 评论