Java
文章平均质量分 64
月光下的海
stay hungry,stay foolish
展开
-
关于mysql报错的问题
遇到的关于mysql驱动报错的问题,以下是日志信息,去网上找了资料最后解决的。①Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via th原创 2017-09-22 22:07:54 · 492 阅读 · 0 评论 -
携程开源配置管理中心Apollo简介
一.为什么需要配置中心? 由于程序日益复杂,相应的配置也越来越多,对配置的期望也会变高(比如实时性,分环境管理),因此我们需要一个配置中心去管理我们的配置。二.Apollo是什么? Apollo是携程框架部门研发的开源配置管理中心,能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时的推送到应用端,并且有关于权限管理、流程治理等功能。(一)Apollo支持四个维度...原创 2018-07-15 15:21:23 · 10131 阅读 · 0 评论 -
Apollo部署注意事项
1.在实际部署时,如何从外部去指定数据库的配置(目前这些配置是在apollo提供的构建脚本buid.sh中指定的) ①apollo-adminservice和apollo-configservice的zip包解压后,分别在config目录下新建application-github.properties文件,在该文件中去指定configdb的配置。(adminservice和con...原创 2018-08-09 18:13:54 · 1464 阅读 · 0 评论 -
SpringMVC的九大组件
1.MultipartResolver:用于处理文件上传请求,处理方法将普通的request包装成MultipartHttpServletRequest,后者可以通过直接调用getFile方法获取file。如果是多个文件,那么可以调用getFileMap得到一份file结构的map。2.LocaleResolver:LocalResolver是个接口,用于从request中解析出Local...原创 2018-02-09 12:00:43 · 782 阅读 · 0 评论 -
@RequestBody的使用
@RequestBody注解是用来处理前台的请求参数是一个json串的情况。比如一个ajax请求中,data的值用的是JSON.stringify(),这里的data就是一个json字符串,而不是对象。 var user = {}; user.name="zhangsan"; user.age=23; $.ajax({...原创 2018-02-09 22:45:14 · 310 阅读 · 0 评论 -
Java代码中Date类型插入到mysql中出现时间不一致的问题
今天在项目中遇到了一个问题,就是在Java中属性是util.date,表中对应的字段类型是datetime,然后Java代码插入到MySQL数据库中后,发现时间相差8个小时。后来去搜了下,发现是因为dbconfig配置文件中jdbc_url=jdbc:mysql://127.0.0.1:3306/wmp?useUnicode=true&characterEncodin...原创 2018-05-27 23:33:39 · 14841 阅读 · 1 评论 -
涵盖学习、工作以及面试的资料
git 的奇巧淫技Java核心知识库Python3网络爬虫实战Spring boot 整合 Activiti Modeler系统设计入门算法-Java实现包括但不限于Java,Scala,JavaScript,工具类,JVM,IO,线程,源码解析,SQL,网络,数据结构与算法,中间件google guavaNginx入门教程RESTful API 设计参考Java生态圈常用技...原创 2018-09-08 00:22:02 · 416 阅读 · 0 评论 -
google guice入门
juice是google的一个轻量级的DI框架,下面上代码。首先是几个接口public interface UserService { void process();}public interface LogService { void log(String msg);}public interface Application { void wo...原创 2018-09-06 23:55:39 · 599 阅读 · 0 评论 -
Tomcat部署项目的几种常见方式
Tomcat部署项目的几种常见方式直接将web项目放到tomcat的webapps目录下这种是最常用的方式,tomcat的webapps目录是tomcat默认的应用目录,当服务器启动时,会加载这个目录下的应用。如果想修改这个默认目录,可以在conf下的server.xml文件中修改host标签里的appBase属性。修改server.xml文件。<Context path...原创 2018-10-22 21:32:19 · 306 阅读 · 0 评论 -
SpringBoot+EasyExcel实现Excel的导出
添加依赖(alibaba开源的一个处理excel的工具包,github地址:https://github.com/alibaba/easyexcel)<dependency> <groupId>com.alibaba&a原创 2018-12-26 17:11:58 · 3318 阅读 · 1 评论 -
单例模式
单例模式:保证只能有一个该类的实例,并且对外提供获取该实例的方法。(核心:构造方法私有,并对外提供访问该实例的方法) 常见写法:懒汉式、饿汉式、枚举、静态内部类。饿汉式:懒汉式:静态内部类的方式:double-checked locking方式:枚举:...原创 2018-06-01 18:26:15 · 270 阅读 · 0 评论 -
java -jar jar包路径 命令提示没有主清单属性
由于工作上的需求,做了一个解析xml的工具类,需要提供给别人使用。我就将项目打成了一个jar,打算用「java -jar jar包路径 参数一 参数二」命令的方式执行。在自己测试的时候,发现一直提示没有主清单属性,意为找不到程序的入口。后来去查了查,发现是因为没有指定程序的入口类。 解决方法是:在pom.xml文件中添加如下配置(重点是<mainClass></ma...原创 2018-06-14 18:01:26 · 751 阅读 · 0 评论 -
关于list中抛出 java.lang.UnsupportedOperationException
今天在将数组转为list时,用到了Arrays.asList(),然后使用到add方法,抛出了异常。后来发现是因为通过以上方法返回的list其实是AbstractList。该List内部使用final修饰的一个数组来实现的,并未实现list的remove()和add()方法,只是简单的抛异常。相当于是只读的,并不支持增删操作。因此解决方法是再将该列表拷贝到Arraylist中,Arr...原创 2018-01-11 22:39:27 · 433 阅读 · 0 评论 -
Java删除集合中元素的正确姿势
1、使用foreach的话,在删除完元素之后,接着遍历就会抛异常。如下图所示:因为foreach实际的实现原理是迭代器的方式去遍历,会去调用Itr对象的hasNext()和next()方法。在该类的next和remove方法中,都会去调用checkForComodification()方法,该方法内部就做了一件事,判断modCount(实际修改的次数)和expectedModco...原创 2018-01-11 22:42:41 · 609 阅读 · 0 评论 -
深入理解Java中的fail-fast机制
1、fail-fast简介: 所谓的fail-fast:快速失败。其实是Java中一种集合的检测错误的机制。当某个线程在对collection进行迭代时,不允许其他线程对该collection进行结构上的修改。 假设现在有两个线程,线程1和线程2,线程1通过Iterator在遍历集合A中的元素,在某个时候线程2修改了集合A的结构(是结构上面的修改,而不是简单的修改集合元素的内容...转载 2018-01-11 22:43:04 · 394 阅读 · 0 评论 -
工作流和工作流引擎
一、工作流: 工作流(workflow)是指业务过程的部分或整体在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流主要解决的问题是:为了实现某个业务目标,利用计算机在多个参与者之间按照某种预定的规则自动传递文档、信息或者是任务。wfmc(工作流管理联盟)给出的定义是:工作流是指一类能够完全自动执行的经营过程,根据一系列的过程规则,将文档、信...原创 2018-01-11 22:43:46 · 2634 阅读 · 0 评论 -
什么是JPA
JPA是Java Persistence API的简称,中文名Java持久层API,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。和其他ORM框架不同的是:JPA只是一种标准、规范,而不是框架,JPA本身没有具体的实现。 Sun公司引入JPA规范主要出于两个原因,一是为了简化JavaEE和JavaSE应用开发工作;二是为了整合OR...原创 2018-01-18 23:58:19 · 642 阅读 · 0 评论 -
SpringBoot集成MyBatis+Activiti环境搭建及注意事项
最近在研究工作流引擎Activiti,所以从搭建环境写demo开始说起。环境是JDK1.8+SpingBoot+MyBatis+Activiti 由于IDEA自己集成了SpringBoot的插件,因此如果采用IDEA去搭建环境,可以直接选择New一个SpringBoot的项目,然后根据自己需要勾选选项。比如Web,SQL,NOSQL等一些与SpringBoot集成的组件。这样会自...原创 2018-01-17 19:10:49 · 21614 阅读 · 19 评论 -
代码规范
自己简单总结下代码规范吧,可能并不是很完整。想到哪儿就写到哪儿吧。1、驼峰命名法,其实这个也没什么可说的了。 类名/接口名 :一般是首字母大写,后面跟着的单词首字母大写。比如:User、UserList; 方法名:首字母小写,后面跟着的首字母大写。比如:getUserList()、getPulicAccountInfo();普通的变量名也是如此。 常量:一般全大写...原创 2018-05-27 23:24:32 · 1121 阅读 · 0 评论 -
Java中使用Mock测试
1、Mock的概念: Mock一词是指“模拟,虚拟”的意思,所谓的Mock测试就是指在测试过程中,模拟出那些不容易获取或者不容易构造出来的对象,比如HttpServletRequest对象需要在Servlet容器中构造出来。2、Java中使用Mock Mockito是用于Java中单元测试的一个Mock框架。下面是在SpringBoot中使用Mockito的代码 ...原创 2018-05-27 23:57:34 · 11338 阅读 · 0 评论 -
Java读取Excel并生成Word&PDF
最近需要用Java处理Excel中的数据,并生成word和pdf格式的文档(其中word和pdf需要带背景图),所以在这里做下总结。使用技术:FreeMarker + easyexcel + jacob①FreeMarker大家应该会比较熟悉,一个模板引擎。②easyexcel 是阿里巴巴开源,用于快速、简单避免OOM的java处理Excel工具。②JACOB是一个JAVA-COM ...原创 2019-03-25 16:52:06 · 5313 阅读 · 2 评论