- 博客(20)
- 资源 (12)
- 收藏
- 关注
原创 Java HashSet TreeSet LinkedHashSet 三种Set接口实现的比较
Set是Java中的一个接口。 Set有各种各样的实现来满足不同情况下的需求。先来说下HashSet TreeSet 和LinkedHashSet之间的相同点。他们都是Set 。 都是数学意义上的Set集合。 他们都无法存放相同的元素。再来看看不同的一点。 先看看TreeSet 和HashSet的不同。 最大的不同是TreeSet是有排序的。而HashSet则是无法保证放入集合时的顺序和取
2017-04-30 10:22:27 705 1
原创 Java Comparable Comparator 接口的使用感悟
Java 中有两个比较接口分别是 Comparable 和 Comparator现在本人分享下自己的体会, 实现了Comparable接口的Java类可以说自己类本身就能够支持比较排序功能。 可以作为Collections.sort() 或者是Arrays.sort()方法的输入。因为集合中的该类本身就可以被排序。 所以可以理解为’内部的排序’。 而Comparator接口则是相当于一个外部
2017-04-29 09:50:09 499
原创 mysql using filesort
今天在explain一个MySQL的sql语句的时候,产生了,如下的结果extra那一栏多了一个Using filesort 而却type也是ALL这说明了查询的结果是全表扫描。可是笔者明明就在 public_time字段加了索引。然而笔者加了 limit 0 , 12 就行了,也不知为什么。但是using filesort的产生原因是明确的。多数是因为 o
2017-04-26 16:10:28 1130
原创 ArrayList和LinkedList的区别与联系
ArrayList和Vector使用了数组去实现。 LinkedList使用了链表数据结构 这是两种不同的技术,所以使用它们的时候是有区别的。1)首先我们来看看增加到List结尾的场景。如果ArrayList的容量在初始化的时候,设置的足够大。那么此时ArrayList的性能是非常好的。但是如果ArrayList的容量是10的话,那么超出了现有的数组的长度是要进行自动扩容的。扩容的公式是 (ol
2017-04-23 19:29:54 1135
原创 负载均衡时使用Spring Session和SpringData来实现多台tomcat服务器的session同步
在使用负载均衡的时候,前端使用nginx来平衡负载。 决定http请求到底由哪个tomcat服务器来响应和处理。 但是这样就会产生一个问题。如果用户在登录的状态下,登录的信息保存在tomcat 的httpSession中。 那么如果两次请求分别被两台tomcat处理。 那么另外一台tomcat上的内存中很可能没有session,更有可能有session,但是与之前的tomcat的内存中的se
2017-04-23 16:58:06 1456
转载 使用nginx和tomcat搭建负载均衡
先下载nginx和tomat, 两台tomcat,由于两个tomcat都在本机启动,所以需要修改下tomcat的端口。 这里笔者直接复制粘贴,也省的读者不知道选择哪个端口好 第一个tomcat<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under o
2017-04-19 09:17:23 322
原创 mysql [42000][1071] Specified key was too long; max key length is 767 bytes
今天在MySQL中建立表的时候,报了一个错误,说是key太长了,超戳了767个字节但是建表语句并有超过指定的长度啊。CREATE TABLE XXL_JOB_QRTZ_JOB_DETAILS ( SCHED_NAME VARCHAR(120) NOT NULL, JOB_NAME VARCHAR(200) NOT NULL, JOB_GROUP VARCHAR
2017-04-18 19:25:03 605
原创 groovy 直接将给定的文本转换成Java中的Class<?>对象从而不需要再手动去写.java文件
package com.xxl.job.core.glue;import groovy.lang.GroovyClassLoader;import java.lang.reflect.Method;public class Test { @org.junit.Test public void testGroovyClassLoader() throws Exception {
2017-04-18 08:55:46 544
原创 groovy 直接将给定的文本转换成Java中的Class<?>对象从而不需要再手动去写.java文件
package com.xxl.job.core.glue;import groovy.lang.GroovyClassLoader;import java.lang.reflect.Method;public class Test { @org.junit.Test public void testGroovyClassLoader() throws Exception {
2017-04-18 08:54:31 3454
原创 gradle 像maven一样自定义本地仓库地址
maven可以在配置文件里加入本地仓库的位置。 gradle可以在自己的环境变量里加入如下 GRADLE_USER_HOME=E:/gradle_repo/.gradle 即可自定义gradle的本地仓库地址,不让他放在c盘。
2017-04-17 09:59:49 5480
原创 在Docker中部署Springboot应用
Docker这项容器技术已经是十分的火热了,读者要是不了解docker的话可以吧docker先理解为虚拟机。 我们的Springboot最终是要部署在Linux上的,docker作为Linux轻量级的实现。docker也是可以用来部署Springboot应用的。 Springboot程序本人以Spring官网的demo为例。地址是: https://spring.io/guides/gs/spr
2017-04-14 20:27:16 4077
原创 cookie httponly
Java 中的JSESSIONID的cookie。默认是httponly 具体啥是httponly 设置cookie为httponly将无法被javascript读取到。 所以默认情况下JavaScript是无法通过读取JSESSIONID的值再到服务器端找与之相对应的Session里面的数据但还是有办法的,就是将JSESSIONID设置为 非httponly Cookie cookie =
2017-04-14 13:59:41 658
原创 Springmvc 配置thymeleaf 和jsp 双模板引擎
假设现在有这么一个需求,在Springmvc中需要存在两个模板引擎jsp和thymeleaf。 我们可以这样来进行配置。<property name="viewNames" value="*.jsp"/><property name="viewNames" value="*.html"/>
2017-04-13 09:25:51 3238 1
原创 在SpringMVC中实践restful中同一资源,多种表述的准则
restful服务中有一个很重要的准则就是 同一资源,多种表述 即,当我们需要到rest服务器上去拉去资源的时候, 同一份资源,若客户端期望得到json,rest服务器则将资源以json的形式返回,若是html文档,则服务器将数据渲染成html,在返回。如下面描述的三种方式:方式1 使用扩展名 http://www.helloworld.com/user.xml 呈现xml文件 h
2017-04-12 19:15:11 660
原创 wkhtmltopdf 实现在每一个pdf页面的header或者footer加入html碎片,类似水印的功能
当我们的项目中需要将html转换成PDF时,并且需要在每一个pdf页面上的header部分加入自己的html碎片。可以使用如下命令wkhtmltopdf --header-html http://localhost:8080/static/data/pdfHeader.html http://localhost:8080/f/gov/pdfFile?govCaseId=fffe04
2017-04-10 17:34:43 6544 6
原创 利用dubbo和zookeeper搭建高可用性的SOA服务
dubbo这个框架相比大家都是知晓的。是一个rpc框架。 rpc是远程过程调用的意思。 调用的客户端调用远程的服务就像在调用自己本地的方法一样的方便。 通常情况下我们将dubbo服务搭建在另外一台机子上。通过rpc的方式让我们的程序去调用。 这样做没有问题。 但是这样做的话会存在一个问题。我们说网络连接是脆弱的。如果dubbo的服务断网了咋办。 那么这个时候我们的应用程序就会因为无法调用
2017-04-05 10:53:12 1379
原创 java rmi 详解
在Java中有一种叫rmi的技术全称叫 remote method invoke (远程方法调用)首先来说一下rmi和rpc的对比吧。 两个技术都有的共同点都是自己的机器上去掉别的机器上的服务。 不同的地方是rmi是Java语言实现的,rmi要求两端的实现都必须是Java代码。 而rpc则不同,所以rpc可以跨平台,而rmi则稍微差点。rmi客户端可以根据服务端暴露的接口,就可以去实现调用rm
2017-04-03 20:55:57 460
Java9模块化demo
2017-09-10
MyEclipse2015破解工具
2015-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人