Java
文章平均质量分 78
jsyxcjw
这个作者很懒,什么都没留下…
展开
-
synchronize和volidate原理
用户态与内核态JDK早期,synchronized 叫做重量级锁, 因为申请锁资源必须通过kernel, 系统调用;hello.asm;write(int fd, const void *buffer, size_t nbytes)section data msg db "Hello", 0xA len equ $ - msgsection .textgl...原创 2022-09-14 20:04:12 · 266 阅读 · 0 评论 -
MySQL 修改字段类型或长度
mysql> alter table 表名 modify column 字段名 类型;例如数据库中address表 city字段是varchar(30)修改类型可以用(谨慎修改类型,可能会导致原有数据出错)mysql> alter table address modify column city char(30);修改长度可以用(修改长度,要保证不短与已有数转载 2016-08-19 16:10:16 · 396 阅读 · 0 评论 -
Jedis
转自: http://snowolf.iteye.com/blog/1633196言归正传,目前Redis大概有3中基于Java语言的Client:JredisJedisRedis4J这里只说Jedis,因为它是官方提供的唯一Redis Client For Java Provider! 一、简单使用Jedis需要Jedis就从Maven转载 2016-01-12 19:19:32 · 1416 阅读 · 0 评论 -
Redis配置文件参数说明
配置文件参数说明: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis.pid3. 指定Redi原创 2016-01-12 17:03:07 · 443 阅读 · 0 评论 -
agile_project
web.xmlxml version="1.0" encoding="UTF-8"?>id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche原创 2015-12-05 15:18:34 · 1090 阅读 · 0 评论 -
单线程无锁读写缓存
import java.util.Arrays;/** * 创建一个循环队列(环形缓冲、RingBuffer),实际元素存在一个数组中,操作数组的指针,不移动元素 * * 需要说明是:支持单线程无锁读与写 */public class CircleQueueT>{ // 循环队列 (数组)默认大小 private final int DEFAULT_SI原创 2015-12-11 11:14:51 · 1168 阅读 · 0 评论 -
XML与java对象互转文档
http://edelstein.pebbles.cs.cmu.edu/jadeite/main.php?api=java6&state=package&package=javax.xml.bind.annotation原创 2016-01-05 16:02:26 · 450 阅读 · 0 评论 -
单例模式常用方法
Singleton模式是什么,这里不解释,直接上代码。这里分享了5种写法,并附上了评论。有好有坏,大家自行理解。/** * 常见面试题:实现单例模式 public class Singleton {/** * 写法一 * 最直接的初级写法,忽略了对多线程并发的考虑。 * 不推荐 * * static class SingletonOne { // 私有化构原创 2015-08-15 16:22:59 · 651 阅读 · 2 评论 -
SpringBoot附录
附录A. 常见应用属性你可以在application.properties/application.yml文件内部或通过命令行开关来指定各种属性。本章节提供了一个常见Spring Boot属性的列表及使用这些属性的底层类的引用。注:属性可以来自classpath下的其他jar文件中,所以你不应该把它当成详尽的列表。定义你自己的属性也是相当合法的。注:示例文件只是一个指导。不转载 2015-07-05 17:50:13 · 6198 阅读 · 0 评论 -
面向对象六大原则
原创 2016-08-03 22:16:20 · 478 阅读 · 0 评论 -
JVM总结
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms355转载 2016-08-03 08:50:47 · 1721 阅读 · 0 评论 -
内聚度和耦合度
内聚度和耦合度一、联系当个程序段或语句(指令) 引用了其它程序段或语句(指令)中所定义或使用的数据名(即存贮区、地址等)或代码时,他们之间就发生了联系。一个程序被划分为若干模块时,联系既可存在 于模块之间,也可存在于一个模块内的程序段或语句之间,即模块内部。联系反映了系统中程序段或语句之间的关系,不同类型的联系构成不同质量的系统。因此, 联系是系统设计必须考虑的重要问题。转载 2016-11-25 18:58:07 · 764 阅读 · 0 评论 -
理解KieSession会话
1.理解KieSession会话 1.1 无状态和有状态的KieSession会话我们早已经知道,KieSession有两种不同的形式:stateless(无状态)和stateful(有状态).我们所涵盖的大部分例子只涉及有状态的KieSession;这是一个很好的理由,即有状态的KieSession是到目前为止是Drools支持的最强大的会话类型。在我们决定要使用哪种类型的会话之前...转载 2018-11-18 22:00:56 · 9898 阅读 · 1 评论 -
SpringBootHowTo
Spring Boot How To1. 简介本章节将回答一些常见的"我该怎么做"类型的问题,这些问题在我们使用Spring Boot时经常遇到。这绝不是一个详尽的列表,但它覆盖了很多方面。如果遇到一个特殊的我们没有覆盖的问题,你可能想去查看stackoverflow.com2. Spring Boot应用2.1. 解决自动配置问题Spring Boot自动配置翻译 2015-07-05 17:30:48 · 4969 阅读 · 0 评论 -
spring+thymeleaf
视图控制层代码demo如下: Java代码 @Controller @RequestMapping("/") public class MessageController { private final MessageRepository messageRepository; @Autowired转载 2015-07-03 22:50:43 · 2802 阅读 · 1 评论 -
comonIO
我现在使用的是commons-io-1.4.jarmaven地址:commons-iocommons-io2.4Commons IO提供了org.apache.commons.io.CopyUtils类来将某个InputStream,Reader,byte[]数据或字符串的内容拷贝到OutputStream或Writer.转载 2015-01-02 15:13:48 · 345 阅读 · 0 评论 -
apache common configuration
Apache Common-Configuration工具可以从Properties文件,XML文件,JNDI,JDBC数据源,System Properties,Applet parameters,Servlet Parameters等读取相应信息使用步骤前提,引入commons-configuration-1.6.jar这个JAR包,同时还必须映入commm-logging转载 2015-01-02 15:11:04 · 650 阅读 · 0 评论 -
fianl和static关键字
Java关键字final 、static总结一、 finalfinal类不能被继承,没有子类,final类中的方法,默认是final。final方法不能被子类的方法覆盖,但是可以被覆盖。final成员变量表示常量,只能被赋值一次,赋值之后不能再改变。final不能用于修饰构造方法。注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法原创 2015-01-09 21:16:45 · 697 阅读 · 0 评论 -
base64服务端与客户端加解密交互
Base64:Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。 为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base6原创 2014-12-04 22:00:41 · 1007 阅读 · 0 评论 -
java调用shell脚本,并获得结果集的例子
/** * 运行shell脚本 * @param shell 需要运行的shell脚本*/public static void execShell(String shell) { try { Runtime rt = Runtime.getRuntime(); rt.exec(shell); }转载 2015-01-28 21:09:48 · 703 阅读 · 0 评论 -
org.apache.commons.io
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。其中CommonsIO是Apache的一个开源的工具包,封装了IO操作的相关类,使用CommonsIO可以很方便的读写文件、URL代码等。Commons IO是JakartaCommons项目的一个子项目。用来帮助进行IO功能开发.它包含三个主要的领域:Utility classes-提供一些转载 2014-11-13 19:45:57 · 1510 阅读 · 0 评论 -
jdbc+连接池
使用数据库连接池优化程序性能应用程序直接获取链接的缺点缺点:用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、宕机。【案例】传统方法连接数据库配置文件db.propertiesdri转载 2014-09-14 22:48:01 · 804 阅读 · 0 评论 -
json数据和java数据的转换
1、DTO:Data Transfer Object,数据传送对象2、对于日期格式的问题,也已经处理3、json-lib-2.2.2-jdk13.jar (2.1在日期数组 json->java有问题) 工具类JsonUtil代码如下: Java代码 public class JsonUtil { /**页面传至后台时,json数据在request的转载 2014-09-14 19:34:11 · 541 阅读 · 0 评论 -
JDBC详解
JDBC简介JDBC是数据库驱动SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。由一些接口和类构成的API组成JDBC的2个包:java.sqljavax.sql开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC转载 2014-09-13 15:39:21 · 448 阅读 · 0 评论 -
Java线程:线程的同步与锁
Java线程:线程的同步与锁一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 public class Foo { private int x = 100; public int g转载 2015-01-04 20:55:00 · 338 阅读 · 0 评论 -
synchronized
JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance变量、object reference(对象引用,例如this)、static函数和class literals(类名称字面常量)身上。下面讨论synchronized用到不同地方对代码产生的影响:假设P1、转载 2015-02-13 16:09:33 · 350 阅读 · 0 评论 -
windowBuilder安装
今天想开发一款swing组件的java界面小程序,就打算想搭建一个可视化的、可拖拽的简单编程环境。在网上搜了一下,怎么样进行搭建开发环境,最后找到了windowbuilder 这个官方的开发插件,可以像vs一样实现可视化的拖拽界面,快速设计界面,方便了开发。步骤:1、jdk1.8 eclipseluna 已经安装好2、下载winbuilder网址:转载 2015-03-08 14:32:21 · 960 阅读 · 0 评论 -
SpringBoot笔记一
1 开始1.1 spring介绍Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run"。 我们为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。你可以使用Spring Boot创建Java应用,并使用java -jar启动它或采用传统的war部署方式翻译 2015-07-05 15:54:45 · 150297 阅读 · 0 评论 -
maven常用镜像
repo2 central Human Readable Name for this Mirror. http://repo2.maven.org/maven2/ net-cn central Human Readable Name for this Mirror. http://m原创 2015-07-10 23:43:58 · 4946 阅读 · 0 评论 -
spring学习
spring学习笔记(1)—-简单的实例首先需要准备Spring包,可从官方网站上下载。下载解压后,必须的两个包是spring.jar和commons-logging.jar。此外为了便于测试加入了JUnit包。在Myeclipse中创建Java项目。编写一个接口类,为了简单,只加入了一个方法。Java代码 1.package com.szy.spring.interfacebean; 2.转载 2015-06-14 11:31:51 · 594 阅读 · 0 评论 -
SpringBoot Maven构建工具插件
构建工具插件Spring Boot为Maven和Gradle提供构建工具插件。该插件提供各种各样的特性,包括打包可执行jars。本节提供关于插件的更多详情及用于扩展一个不支持的构建系统所需的帮助信息。如果你是刚刚开始,那可能需要先阅读Part III, “Using Spring Boot”章节的“Chapter 13, Build systems”。1. Spring Boot Ma翻译 2015-07-05 16:19:46 · 12424 阅读 · 0 评论 -
常用的20个代码段
1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int 2. 向文件末尾添加内容 BufferedWriter out = null; try { o转载 2015-04-17 14:53:44 · 707 阅读 · 0 评论 -
Mybaits简单实例
1、Mybatis优缺点优点: Mybatis实现了对Dao层的封装,隔离了SQL语句,便于管理,避免了像JDBC那样操作数据集,便于扩展等等。缺点: Mybatis属于?半自动“ORM”,比Hibernate的工作做得要多很多,对象参数传递比较麻烦,没有Hibernate对象操作的概念。2、Mybatis的实现方式Mybatis提供两种应用实现:XML配置和注解。转载 2015-04-07 22:24:18 · 772 阅读 · 0 评论 -
Java程序性能优化。
一、避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。 例子: import java.util.vector;class cel { void method (vector vector) { for (int i = 0; i < vector.转载 2015-04-19 17:43:37 · 659 阅读 · 0 评论 -
ssh maven
junit junit 4.10 test 添加SSH依赖 --> org.apache.struts struts2-core 2.3.1 org.apache.struts struts2-spring-plugin 2.3.1 添加Hibernate依赖 -->转载 2015-04-04 22:15:35 · 347 阅读 · 0 评论 -
PropertiesHelper.java
import java.util.HashMap;import java.util.Map;import java.util.Properties;import java.util.StringTokenizer;public final class PropertiesHelper { public static boolean getBoolean(String property转载 2014-09-12 10:03:28 · 1340 阅读 · 0 评论