![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
海中源
Java软件工程师,数据挖掘,智能算法,Netty
展开
-
优化代码建议
程序性能提高技术高级设计:为遇到的问题选择适当的算法和数据结构。要特别警觉,避免使用那些会渐进产生糟糕性能的算法或者编码技术。当然,选择合适的算法和数据结构需要你掌握常见的算法和数据结构的前提。基本的编码规则。 (1):消除连续的函数调用:这种优化也称为代码移动,识别要执行多次但是计算结果不会改变的计算。 //这里使用c++语言进行示例:/** * Convert string to l原创 2017-11-13 10:21:27 · 305 阅读 · 0 评论 -
SpringCloud|SpringBoot中properties中文乱码解决
1:原因乱码的原因是:spring 默认使用org.springframework.boot.env.PropertiesPropertySourceLoader 来加载配置,底层是通过调用 Properties 的 load 方法,而load方法输入流的编码是 ISO 8859-1。2:解决解决方法:实现org.springframework.boot.env.PropertySour...原创 2018-12-13 15:45:47 · 2677 阅读 · 1 评论 -
Spring中RestTemplate的使用
Get请求1:带参数的Get请求请求URL示例:http://localhost:8080/test/sendSms?phone=手机号&msg=短信内容//错误使用:@Autowiredprivate RestOperations restOperations;public void test() throws Exception{ String url = ...原创 2018-11-21 16:42:17 · 687 阅读 · 2 评论 -
SpringMvc建立统一异常处理
1.异常处理作用统一的异常处理可以让前台隔离那些对他们无需的信息,但是又让后台可以很好的规避泛滥的异常.2.代码示例:建立业务异常/** * 服务(业务)异常如"账号或密码错误",该异常只做INFO级别的日志记录 * * @see com.ley.springboot.seed.config.WebConfig */public class ServiceExceptio...原创 2018-10-30 16:09:50 · 232 阅读 · 0 评论 -
Springboot整合mybatis实现多数据源
1:SpringBoot整合mybatis实现多数据源有两种方法1:静态方式将每个数据源都实现一个mybatis的sqlSessionFactory中,但是这种方法,缺点在于:你有几个数据源都会有几个mybatis的配置类;对于数据源的事务也不是很好控制,你的声明数据源的事务配置类2:动态方式使用SpringBoot提供的AbstractRoutingDataSource 类进行数据...原创 2018-10-17 17:36:44 · 667 阅读 · 0 评论 -
Spring IO Platform学习总结
1:Spring IO PlatformSpring IO Plat是一个附带包,不会编译到项目中,它只是将核心Spring API框架内聚集成到一个现代应用程序的平台中。它提供了已经测试完毕能很好协同工作的许多项目的Spring组合版本以及它们的依赖项。你在引入新的Spring IO Platform时不用带版本号的2:Maven使用Spring IO Platform使用pom的形...原创 2018-09-21 12:35:01 · 632 阅读 · 2 评论 -
文件操作工具类
/** * file utility * * @author ley * 需要引入commons-io jar包 **/@Slf4jpublic class FileUtils { /** * read file **/ public static byte[] readFile(File file) { byte[] byte...原创 2018-09-25 17:21:41 · 255 阅读 · 0 评论 -
SpringBoot文件上传与下载
/** * file upload and download * * @author ley **/@Slf4j@Componentpublic class FileUploadUtils { /** * innovation file path **/ @Value("${innovation.file.path}") private ...原创 2018-09-25 17:19:17 · 204 阅读 · 0 评论 -
Java常见加密和解密算法
1:加密和解密辅助工具类:/** * byte hex utility class **/public class ByteHexUtils { private static final String HEX_STR = "0123456789ABCDEF"; /** * @param hex * @return */ publi...原创 2018-09-25 10:49:08 · 594 阅读 · 0 评论 -
Request header is too large 的问题解决
1:问题原因:后台接受前台传入的内容字符串,由于内容字符串太大,导致打印台报错.1-1:错误描述:java.lang.IllegalArgumentException: Request header is too large at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:701)...原创 2018-09-25 10:02:01 · 5034 阅读 · 0 评论 -
json强大解析工具gson
1:GsonUtils工具类/** * google json utils * **/public class GsonUtils { public static final String DATE_FORMAT="yyyy-MM-dd HH:mm:ss"; /** * get google json * @see Gson * **...原创 2018-09-11 09:05:53 · 277 阅读 · 0 评论 -
Future取消任务
Future取消任务:**通过Future取消那些不再需要结果的任务: //示例:/** * TimedRun * <p/> * Cancelling a task using Future */public class TimedRun { private static final ExecutorService TASK_EXEC = Execut...原创 2018-06-22 21:42:30 · 1572 阅读 · 0 评论 -
Callable异常封装
Callable异常封装Executor框架利用FutureTask来完成异步任务,并可以用来进行任何潜在的耗时计算,而且可以在真正需要计算结果之前就启动它们开始计算。不能在构造函数或者静态初始化方法中启动线程并不是明智的举措,所以可以提供一个start()方法来启动线程(???为什么这样做)。Callable记录这些异步任务,可以抛出受检异常或者未受检异常,并且任何代码都可能抛出Err...翻译 2018-06-07 19:17:21 · 1988 阅读 · 0 评论 -
编码建议之对象的创建和销毁
创建和销毁对象1. 考虑使用静态工厂方法代替构造器 //类可以提供一个静态工厂方法,它只是返回一个类的实例的静态方法.(适合不可变类,将构建的实例缓存起来) //惯用名称(静态工厂) 2:遇到多个构造器参数时要考虑构建器 //可以很好的扩展到大量的可选参数,使用Builder模式.通常最好一开始就使用构建器3:用私有构建器或者枚举类型强化Singleton属性 //要把构原创 2018-01-14 19:08:19 · 209 阅读 · 0 评论 -
通用程序设计
通用程序设计1:将局部变量的作用域最小化。 (I):要使局部变量的作用于最小化,最有力的方法就是在第一次使用它的地方声明。(II):几乎每个局部变量的声明都包含一个初始化表达式2:for-each循环优于传统的for循环 //–>无法使用for-each循环 (I):过滤:如果需要遍历集合,并删除选定的元素,就需要使用显示的迭代器,以便可以调用它的remove方法。(II):原创 2017-11-13 19:37:04 · 678 阅读 · 0 评论 -
Spring Type Conversion(Spring类型转换)
1:概述:Spring3引入了core.convert包,提供了通用类型转换系统,定义了实现类型转换和运行时执行类型的SPI。在Spring3.0之前,提供的PropertyEditor来将外部化bean属性值字符串转换成必需的实现类型。2:Converter SPI/** * A converter converts a source object of type {@code S} ...翻译 2019-06-21 18:34:02 · 407 阅读 · 0 评论