- 博客(56)
- 资源 (7)
- 收藏
- 关注
原创 JAVA 程序 jsch实现对SFTP服务器的操作
freeSSHd搭建 windows 上搭建 sftp 服务器 --freesshd 下载 jsch.jar JAVA程序实现对SFTP服务器的操作 Java实现的SFTP(文件上传详解篇) JAVA SFTP文件上传、下载及批量下载 1. 配置类 package com.test.sftp; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annot
2021-05-11 10:12:34 894
原创 Python环境搭建之OpenCV
一、环境 本文适用于win7 64位系统 下的Python3.5。python3.5、pip为必备前提。安装python自行百度,一切就绪以后以管理员身份运行cmd或PowerShell。依次输入以下命令:pip install --upgrade setuptools pip install numpy Matplotlib pip install opencv-python四、测试导入cv模块
2017-12-10 23:14:36 308
原创 学习docker 入门命令笔记
课程:http://www.imooc.com/learn/8241. 命令 docker version docker images docker pull hello-world docker run hello-world docker pull nginx:latest docker run nginx docker run -d nginx
2017-11-04 23:43:13 524
转载 Java 8的新特性—终极版
原文: http://blog.csdn.net/yczz/article/details/50896975 前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8
2017-09-29 15:32:43 283
原创 同顶级域名或IP,不同应用,基于spring-sesion的session共享
一. 配置Cookie系列化方式省略了spring sessin的配置,请查看相关文章 spring 和 redis整合,并且使用redis做session缓存服务器<!-- 设置Cookie domain 和 名称 --> <bean id="defaultCookieSerializer" class="org.springframework.session.web.http.Defa
2017-09-28 13:55:53 1302
原创 java 热编译,热加载
一. 热编译package com.lucain.dynamic;import sun.applet.AppletClassLoader; import sun.misc.Launcher;import javax.tools.JavaCompiler; import javax.tools.StandardJavaFileManager; import javax.tools.ToolProvid
2017-07-27 12:11:35 2799
原创 spring boot 使用fastjson
一. 使用fastjson /** * fastJson序列化配置 */ public static final FastJsonConfig FAST_JSON_CONFIG = new FastJsonConfig(); static { FAST_JSON_CONFIG.setSerializerFeatures( Se
2017-07-26 22:51:56 323
原创 spring boot 多数据源动态切换
总体思路 使用AOP进行数据源切换,继承AbstractRoutingDataSource实现数据源动态的获取,使用注解指定数据源。 //指定aop事务执行顺序,已保证在切换数据源的后面 @EnableTransactionManagement(order = 2) //排除数据源自动配置 @SpringBootApplication(exclude = { DataSou...
2017-07-26 22:51:32 11030 8
原创 spring boot 使用hibernate-validation
spring boot web已经继承了hibernate-validation一. 提示信息配置 新建 ValidationMessages.properties配置文件,名称必须保持一致 batch.delete.ids = 批量删除ids不能为空二. 支持直接在方法上校验 /** * 支持直接在controller类方法进行校验 */ @Bean
2017-07-26 22:51:07 2395
原创 Spring boot 整合mybtais和druid
一. 整合druiddruid官方指南 pom.xml配置 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artif
2017-07-26 22:50:42 1884
原创 spring boot 使用demo
官方指引一. Spring boot maven配置及使用<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> <relativePath/> <!
2017-07-26 22:50:07 515
原创 selenium 自动化测试
selenium github public class test1 { public static void main(String[] args) throws Exception{ // 谷歌浏览器驱动 System.setProperty("webdriver.chrome.driver", "D:\\selenium\\chromedriver.e
2017-06-30 16:16:11 576
原创 spring 整合druid
一. Spring 配置<!-- Druid数据源 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="${db.d
2017-06-23 09:01:27 1661
原创 maven搭建项目,settings.xml配置文件,以及parent的pom.xml
settings.xml<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work
2017-06-21 15:55:02 2252
原创 maven,打包时不同环境不同的配置文件
一. profile 配置 <profiles> <profile> <id>pro</id> <properties> <env>pro</env> </properties> </profile> <profile> <i
2017-06-21 15:44:29 434
原创 mybatis-generator 自动生成mapper,结合maven
一. pom.xml 配置信息<!-- mybatis 自动生成mapper和model 插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <c
2017-06-14 11:15:41 954
原创 springmvc整合fastjson
fastjson文档: https://github.com/alibaba/fastjson/wik jar: fastjson-1.2.32,spring 4.2+springmvc配置<!-- 配置Fastjson支持 --> <bean id = "fastJsonConfig" class="com.alibaba.fastjson.support.config.FastJsonConf
2017-06-07 10:47:17 541
原创 spring 和 redis整合,并且使用redis做session缓存服务器
所需jarcommons-pool2-2.0.jar jedis-2.9.0.jar spring-data-redis-1.6.2.RELEASE.jar spring-session-1.2.1.RELEASE.jar 一 . xml配置文件 <!-- jedis连接池配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedi
2017-06-07 10:38:38 6433
原创 Tomcat 7 下对 JSP 进行预编译
预编译jsp,直接看maven配置,IDE为idea,注意tomcat的版本,有些版本中有些类是不存在的,那么就把编译的tomcat版本降低 <plugins> <plugin> <groupId>org.codehaus.mojo.jspc</groupId> <artifactId>jspc-maven-plugin</artifactId>
2017-06-07 10:25:18 1748
原创 dubbo使用
参考dubbox 2.8.4的配置和使用注意项1. 最好用mvn命令去打包dubbo源码和dubbo-monitor源码,不要借用IDE工具,最好使用jdk1.7。2. dubbo-admin.war和dubbo-monitor开始最好用tomcat去运行,暂时不要使用其它服务器。3. 由于dubbo有很多子模块pom.xml设置了<skip_maven_deploy>true</skip_mave
2017-04-05 21:00:00 651
原创 虚拟机字节码执行引擎
1. 运行时栈帧结构栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。每一个方法执行的调用和完成,都对应着一个栈帧在虚拟机栈里入栈和出栈的过程。局部变量表:局部变量定义了,但没有赋初始值是不能使用的。以下代码是无法通过编译的:pulbic static void main(String[] args){ int a; System.ou
2017-03-19 22:11:02 234
原创 虚拟机类加载机制
1. 类加载的时机整个生命周期: 加载、(验证、准备、解析)、初始化、使用、卸载。 2. 类加载的过程 通过一个类的全限定名来获取定义此类的二进制字节流。 通过这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种的数据的访问入口。 如果C是一个数组类型,并且数组的元素类型为对象,会由虚拟机生成一个代表此数
2017-03-17 00:56:59 216
原创 虚拟机性能监控与故障处理工具和命令
1. JDK的命令工具 所有的命令都可以使用 -help查看帮助jps 系统内虚拟机进程。 主要 -l 和-v 参数选项,比如:jps -l jstat 虚拟机统计信息监视工具 //假设需要每250毫秒查询一次进程5744垃圾收集状况,一共查询20次 jstat -gc 5744 250 20jinfo Java配置信息工具 //jinfo -flag [name] pid
2017-03-05 14:13:21 422
原创 垃圾收集器与内存分配策略
1. 对象是否已死对象是否存活算法:引用计数算法、可达性分析算法1.1 引用计数算法给对象中添加一个引用计数器,引用它时,计数器值就加1;当引用失效时,计数值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 虚拟机未采用这种算法,主要是因为该算法很难解决对象之间相互循环引用问题。 1.2 可达性分析算法基本思路为:通过一系列的称为:“GC Roots” 的对象作为起始点,从这些节点开始向下
2017-03-05 14:11:21 266
原创 linux安装nginx并且配置负载均衡
1. 安装前环境环境准备首先确认是不是有安装编译包和一些依赖包,以下可以逐一安装 yum install openssl-devel zlib-devel gcc-c++ gcc make cmake libtool autoconf pcre 2. 下载nginx-sticky-module、nginx_upstream_check_module模块包,并解压上传到服务器上2. 安装nginx
2017-02-22 01:15:40 465
原创 java内存区域与内存溢出异常
1. 运行时数据区域1.1 方法区方法区是各个线程共享的内存区域,用于存储类的信息、常量。静态变量、即时编译器编译后的代码等数据,大小通过-XX:PermSize和-XX:MaxPermSize控制;还有一个别名为Non-Heap(非堆)和永久代。1.2 堆虚拟机启动时创建,是各个线程共享的内存区域,唯一目的就是存放对象实例,堆的大小通过-Xmx和-Xms控制,设置一样,即避免自动扩展,提高性能;还
2017-02-12 20:53:32 316
原创 序列化
第七十四条:谨慎地实现Serializable接口 实现Serializable接口而付出的最大代价是,一旦一个类被发布,就大大降低了“改变这个类的实现”的灵活性。 第二个代价是,它增加了出现Bug和安全漏洞的可能性。 第三个代价是,随着类发行新的版本,相关的测试负担也增加了。 第七十五条:考虑使用自定义的序列化形式第七十六条:保护性地编写readObject方法第七十七条:对于实例控制,枚举类型优
2017-01-24 22:29:53 248
原创 并发
第六十六条:同步访问共享的可变数据第六十七条:避免过度同步 应该在同步区域内做尽可能少的工作 第六十八条:executor和task优先于线程第六十九条:并发工具优先于wait和notify 更高级的工具分成三类:Executor Framework、并发集合(ConCurrent Collection) 以及同步器(Synchronizer). 第七十条:线程安全性的文档化第七十一条:慎用延迟初始
2017-01-24 20:52:46 206
原创 类初始化顺序
父类package test;public class Parent { public static int a=2; { System.out.println("父类非静态代码块"); } static{ System.out.println("父类静态代码块"); } public static void name1()
2017-01-22 23:27:58 297
原创 异常
第五十七条:只针对异常的情况才使用异常第五十八条:对可恢复的情况使用受检异常,对编程错误使用运行时异常第五十九条:避免不必要地使用受检的异常第六十条:优先使用标准的异常第六十一条:抛出与抽象相对应的异常第六十二条:每一个抛出的异常都要有文档第六十三条:在细节信息中包含能捕获失败的信息第六十四条:努力使失败保持原子性 调整计算处理过程,使得任何可能会失败的计算部分都在对象状态被修改之前发生。 例如:
2017-01-21 15:21:28 251
原创 通用程序设计
第四十五条:将局部变量的作用域最小化 要使局部变量的作用于最小化,最有力的方法就是在第一次使用它的地方声明。 几乎每个局部变量的声明都应该包含一个初始化表达。 使方法小而集中。 第四十六条:for-each循环优先于传统的for循环第四十七条:了解和使用标准类库 每个程序员都应该熟悉java.lang、java.util、java.io中的内容,关于其他类库的知识可以根据需要随时学习。 在每个重要的
2017-01-21 00:03:49 340
原创 方法
第三十八条:检查参数的有效性 在这个方法执行之前先对参数进行检查。 第三十九条:必要时进行保护性拷贝 对于构造器的每一个可变参数(指引用类型参数)进行保护性拷贝是必要的,防止其他对方改变值,从而避过这些参数需要满足的条件。 public Period(Date start,Date end){ this.start=new Date(start.getTime())
2017-01-03 22:20:45 294
原创 枚举和注解
第三十条:用枚举代替int常量第三十一条:用实例域代替序数第三十二条:用EnumSet代替位域第三十三条:用EnumMap代替序数索引 最好不用用序数即调用枚举的ordinal()得到的序数来做键值。而要使用EnumMap。 第三十四条:用接口模拟可伸缩的枚举第三十五条:注解优先于命名模式 命名模式的例子:JUnit测试框架原本要求用户一定要用test作为测试方法名称的开头。这一种有很多缺点,不推荐
2017-01-02 21:36:08 486
原创 泛型
第二十三条:请不要在新代码中使用原生态类型List 原生态类型就是List 如果使用原生态类型,就失掉了泛型在安全性和表达性方面的所有优势;List是原生类型,List为泛型。 第二十四条:消除非受检警告 应该始终在尽可能小的范围中使用SuppressWarnings注解。 第二十五条:列表优先于数组第二十六条:优先考虑泛型第二十七条:优先考虑泛型方法第二十八条:利用有限制的通配符来提升API的灵活
2016-12-30 23:58:47 304
原创 类和接口
第十三条:使类和成员的可访问性最小化。控制类和成员的访问级别已解除各模块之间的耦合关系,使模块间可以独立的开发、测试 尽可能地使每个类或者成员不被外界访问。 类的成员访问级别为:私有的(private)、包级私有的(package-private)–缺省访问级别、受保护的(protected)–子类或内部类可以访问、公有的(public) 实例域决不能是公有的。 包含公有可变域的类并不是线程安全的。
2016-12-28 22:08:31 280
原创 对于所有对象都通用的方法
第八条:覆盖equals时请遵守通用约定Object的equals()的规范【JAVASE6】: 自反性。对于任何非null的引用值x,x.equals(x)必须返回true。 对称性,对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)必须返回true。 传递性。x,y,z,如果x.equals(y)为true,y.equals(z)为true,那
2016-09-11 23:15:49 462
原创 创建和销毁对象
第一条:考虑用静态工厂方法代替构造器示例:public static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE); }优势: 他们有名称。 不必在每次调用他们的时候都创建一个新对象。 他们可以返回原返回类型的任何子类型的对象。 在创建参数化类型实例的时候,它们使代码变得更加简洁 缺点: 类如果不含公有的或者受保护的构造器,就不
2016-09-09 21:52:01 438
转载 JAVA语言运算符
原文 http://baike.baidu.com/link?url=8Ak8g9zjQGW8XDpNLQYiLxqTw3IGoO9fD2otKcVEj9oH1iK2sCeQYPLCFq-qWERjRfWR-GHcHm_FE_6X5psP6a#3_3 JAVA语言运算符 编辑 锁定 Java,是由Sun Microsystems公司于1995年5月推出的Java
2016-07-01 11:33:06 608
转载 Jboss调优
原文 http://www.cnblogs.com/xing901022/p/3978014.html JBOSS参数调优 配置deploy/jboss-web.deployer/server.xml文件 . Connector port="8080" address="0.0.0.0" m
2016-06-06 16:12:34 1154 1
转载 eclipse快捷键以及使用技巧大全
原文 http://jingyan.baidu.com/article/2a1383285ed0d5074a134ff0.html 1. 打开MyEclipse 6.0.1,然后“window”→“Preferences” 2. 选择“java”,展开,“Editor”,选择“Content Assist”。 3. 选择“Content Assist”,然后看到
2016-05-26 16:33:09 305
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人