面向对象
machihaoyu
这个作者很懒,什么都没留下…
展开
-
SpringCloud配置文件刷新之@RefreshScope
背景当遇到生产环境配置参数需要调整,但又没有配置中心的支持的情况下,只能重启应用以加载新参数,可能会影响业务系统运行,太暴力不优雅;@RefreshScope注解能帮助我们做局部的参数刷新,但侵入性较强,需要开发阶段提前预知可能的刷新点,并且该注解底层是依赖于cglib进行代理的,所以不要掉入cglib的坑,出现刷了也不更新情况;常规的操作姿势大致有下面5个步骤;操作指南1、加依赖 ...原创 2020-01-03 10:01:03 · 2990 阅读 · 0 评论 -
Java Excel
Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。搭建环境 : 将下载后的文件解包,得到jxl.ja...转载 2019-11-29 17:11:32 · 296 阅读 · 0 评论 -
java导出csv用excel打开后数字不用科学计数法显示
http://zhejiangyinghui.iteye.com/blog/1149526转载 2018-06-15 13:35:55 · 2723 阅读 · 1 评论 -
java Bigdecimal问题
Bigdecimal的加减乘除,需要注意首先判断是null,再进行相关的计算。原创 2018-05-02 15:31:59 · 4031 阅读 · 0 评论 -
Spring boot 启动错误处理
今天准备把我之前搭建的,基于springboot的框架的基础功能包抽离出来,在增加spring yml自定义设置后,在业务项目启动时会报出以下异常。2017-02-23 18:55:09.869 WARN main org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext转载 2018-02-05 15:45:07 · 1429 阅读 · 0 评论 -
Java中的BigDecimal使用注意事项
1.BigDecial是immutable的,就像String一样,它的所有操作都会生成一个新的对象,所以 amount.add( thisAmount );是错误的;而应该是: amount = amount.add( thisAmount );2. 不要用equals方法来比较BigDecimal对象,因为它的equals方法会比较scale,如果sca转载 2018-01-10 16:13:13 · 355 阅读 · 0 评论 -
Java数字格式化输出时前面补0
数字转字符串前面自动补0的实现。转载 2017-12-18 20:00:34 · 374 阅读 · 0 评论 -
swagger-ui教程 构建api接口文档工具
swagger swagger_ui转载 2017-11-08 10:23:56 · 4796 阅读 · 1 评论 -
HashMap实现原理分析
http://blog.csdn.net/vking_wang/article/details/14166593转载 2017-07-06 14:10:16 · 166 阅读 · 0 评论 -
Integer.valueOf()方法 java
Integer valueOf() Java原创 2017-07-03 16:30:10 · 2012 阅读 · 0 评论 -
单点登录SSO
单点登录 SSO转载 2017-07-11 16:37:56 · 216 阅读 · 0 评论 -
HashMap和Hashtable的区别
HashMap HashTable转载 2017-06-02 15:36:25 · 183 阅读 · 0 评论 -
Mybatis对乐观锁的支持
乐观锁转载 2017-05-08 11:11:22 · 1646 阅读 · 0 评论 -
Spring: @Transactional中的propagation属性
在Spring的事务管理中,我们可以使用@Transactional这一annotation来对事务进行声明式的设定。具体而言,就是在类或者方法前添加@Transactional并传入属性参数以获取所需要的Transaction特性。Spring中的@Transactional有5个属性:Propagation、Isolation、Rollback Rules、Timeout和Read-Only,...转载 2018-05-07 14:44:24 · 176 阅读 · 0 评论 -
spring StopWatch用法
阅读目录背景有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进一步控制,则需要在程序中很多地方修改,目前spring-framework提供了一个StopWatch类可以做类似任务执行时间控制,也就是封装了一个对开始时间,结束时间记录操作的Java类,...转载 2019-02-21 11:34:42 · 738 阅读 · 0 评论 -
java8 :: 用法 (JDK8 双冒号用法)
JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下。代码其实很简单:以前的代码一般是如此的:public class AcceptMethod { public static void printValur(String str){ System.out.println("print value ...转载 2019-01-09 17:05:11 · 228 阅读 · 0 评论 -
Java 8 - Predicate
/** * Evaluates this predicate on the given argument. * * @param t the input argument * @return {@code true} if the input argument matches the predicate, * otherwise {@code fa...转载 2019-01-15 10:04:06 · 203 阅读 · 0 评论 -
多线程批量拆分List导入数据库
一、前言 前两天做了一个导入的功能,导入开始的时候非常慢,导入2w条数据要1分多钟,后来一点一点的优化,从直接把list怼进Mysql中,到分别把list导入Mysql中,到多线程把list导入Mysql中。时间是一点一点的变少了。非常的爽,最后变成了10s以内。下面就展示一下过程。二、直接把list怼进Mysql 使用mybatis的批量导入操作: @Tran...转载 2018-10-26 16:41:15 · 961 阅读 · 0 评论 -
队列的add()方法和offer()方法的区别
看API:add():Inserts the specified element at the tail of this queue. As the queue is unbounded, this method will never throw IllegalStateException or return false.offer():Inserts the specified elem...转载 2018-09-25 17:17:09 · 19224 阅读 · 3 评论 -
Java中获得线程的返回值
java5之前是没有返回值的,Java5新增了Callable接口获得线程的返回值,用法如下:package com.jege.spring.boot.thead.returnValue;import java.util.concurrent.*;/** * Created by yinzf on 2018/8/29. */public class GetReturnVa...转载 2018-08-29 11:23:34 · 230 阅读 · 0 评论 -
数据库表反向生成(一) MyBatis-generator与IDEA的集成
在Dao层,通过数据库表反向生成,可以节省我们很多的精力,把更多的精力投入复杂的业务中。数据库表反向生成,指的是通过数据库如mysql中的库表schema生成dao层读写表的基础代码,包括model(entity)和dao(mapper)。在本文中我先介绍java中mybatis-generator的反向生成。我们在下一篇文章中会介绍django中ORM的反向生成。 mybatis...转载 2018-08-02 15:41:19 · 329 阅读 · 0 评论 -
解决 IDEA 创建 Gradle 项目没有src目录问题
点此打开链接https://www.jb51.net/article/142791.htm转载 2018-07-04 13:20:04 · 1848 阅读 · 0 评论 -
spring boot统计数据转化json问题
Controller返回值JSON串化失败,HttpMessageNotWritableException异常解决办法最近,某同事遇到如下怪异问题,程序变异没问题,启动没问题,从controller调用到service,service里的方法正常返回,controller也能正常接收返回参数,但controller将返回参数json化后,返回给前端的时候,报异常了。具体错误信息如下: 异...转载 2018-07-09 17:20:02 · 253 阅读 · 0 评论 -
mybatis学习之路----批量更新数据两种方法效率对比
点击打开链接转载 2018-06-15 16:30:35 · 327 阅读 · 0 评论 -
jsoup中文API
jsoup Cookbook(中文版)入门解析和遍历一个html文档输入解析一个html字符串解析一个body片断根据一个url加载Document对象根据一个文件加载Document对象数据抽取使用dom方法来遍历一个Document对象使用选择器语法来查找元素从元素集合抽取属性、文本和html内容URL处理程序示例:获取所有链接转载 2017-05-03 11:06:14 · 1885 阅读 · 0 评论 -
java 中重写toString()方法
java 重写toString()转载 2017-04-20 15:05:24 · 412 阅读 · 0 评论 -
java中sleep()方法和wait()方法区别
对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调转载 2016-04-26 09:59:29 · 263 阅读 · 0 评论 -
web.xml文件中session的设置
1.在web容器中设置(此处以tomcat为例) <session-config> <session-timeout>30</session-timeout> </session-config>Tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为不限制session失效时间。 2.在工程的web.xml中设置<session-config> <session-ti转载 2016-03-03 13:40:12 · 960 阅读 · 0 评论 -
利用XStream在Java对象和XML之间相互转换
XStream是个好东西,可以方便在Java对象和XML之间相互转换,效率和可读性都非常高,下面是我写的一个测试的例子,放出来一块看看。链接 http://lavasoft.blog.51cto.com/62575/64114/转载 2016-03-01 17:03:17 · 256 阅读 · 0 评论 -
java中JSONObject与JSONArray的使用详细说明及有关JSON的工具类
一、JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar转载 2016-03-01 16:16:16 · 450 阅读 · 0 评论 -
Java mail发送邮件
原地址http://www.cnblogs.com/yejg1212/archive/2013/06/01/3112702.html原创 2015-08-05 14:14:48 · 274 阅读 · 0 评论 -
随机生成id,不会重复
程序中自动生成id,根据时间和IP,不会重复,package com.etomn.util;import java.net.InetAddress;public class UUIDHexGenerator{ private static final int IP; private static short counter = (short) 0; private static原创 2015-08-13 10:12:49 · 833 阅读 · 0 评论 -
Java利用Arrays的asList方法输出数组数据
array的aslist方法主要是将数组的元素输出import java.lang.reflect.*; import java.util.Arrays;public class CompareArray{ public static void main(String[]args) { int[] a=new int[3] ; int[] b=new转载 2015-08-26 17:13:37 · 523 阅读 · 0 评论 -
java URL和URLConnection的例子
import java.io.DataInputStream;import java.net.URL;import java.net.URLConnection;public class httpPostImg { public static DataInputStream sendPost(String url, String param) { DataInputStre转载 2015-07-13 15:49:13 · 536 阅读 · 0 评论 -
java从控制台输入
JDK5以后引入了 java.util.Scanner;来处理控制台输入并得到响应的类型数据package com.test;import java.util.Scanner;public class MainRun { /** * @param args */ public static void main(String[] args) { Sca转载 2015-07-13 15:41:34 · 239 阅读 · 0 评论 -
java中的sleep()和wait()的区别
对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只...转载 2015-02-10 11:32:07 · 274 阅读 · 0 评论 -
java导出excel jxl的用法
Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。 搭建环境 : 将下载后的文件解包,得到jx转载 2014-11-16 16:11:36 · 422 阅读 · 0 评论 -
Java ConcurrentModificationException 异常分析与解决方案
一、单线程异常情况举例只要抛出出现异常,可以肯定的是代码一定有错误的地方。先来看看都有哪些情况会出现ConcurrentModificationException异常,下面以ArrayList remove 操作进行举例:使用的数据集合:List<string> myList = new ArrayList<string>();myList.add( "1");myList.add( "2")转载 2016-08-30 11:25:04 · 298 阅读 · 0 评论 -
request.getParameter(“参数名”) 中文乱码解决方法
在Java 开发中,如果框架搭建的不完善或者初学者在学习过程中,出现中文乱码是经常的事儿(哈。谁让发明java语言的不是中国人呢)今天跟大家分享几个解决java Web开发中,request.getParameter()获取URL中文参数乱码的解决办法解决问题,先要研究问题,URL传中文参数为什么会出现乱码?原因:Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO转载 2016-10-12 14:43:00 · 275 阅读 · 0 评论 -
java对象拷贝——PropertyUtils.copyProperties()用法和性能
copyProperties() Java转载 2017-04-20 14:42:17 · 1785 阅读 · 0 评论