![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java开发
文章平均质量分 66
relax_wu
你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。技术的成长,离不开思维的碰撞
展开
-
经典面试有用的数据库的优化
1.数据库设计的优化 a) 降低关联的复杂性 b) 尽量不使用联合主键 c) ID的生成机制,不同的数据库所提供的机制并不完全一样 d) 适当的冗余数据,不过分追求高范式是非常有意义的。如果有可能,可以使用存储过程来加以实现!一、数据库操作的优化1、IN 操作符用IN写出来的SQL的优点是比较容易写及清晰易原创 2013-11-29 11:28:44 · 772 阅读 · 1 评论 -
java传统线程介绍
线程使用有两种:1.继承Thread类2.实现Runnable接口那么如果这两种情况都存在时,会先执行哪个呢?让我们来看看下面的例子:package com.norelax.www;public class TraditionalThread {public static void main(String[] args) {new原创 2016-05-14 15:11:13 · 356 阅读 · 0 评论 -
Hibernate Validation各注解的用法Demo
依赖包 org.hibernate hibernate-validator 5.1.1.Final javax.el javax.el-api 2.2.4 org.glassfish.web javax.el 2.2.4与spring整合的配置: 实体类属性上加注解约束@NotNull(mes原创 2016-05-06 16:19:18 · 10483 阅读 · 1 评论 -
java线程通信
1.传统的线程通信,直接上代码:package com.norelax.www;//传统的线程通信,主线程执行100次,子线程执行50次,主线程和子线程交替执行public class TraditionalThreadCommunication { public static void main(String[] args) { final Business business=new原创 2016-05-14 16:01:46 · 340 阅读 · 0 评论 -
传统定时器技术
在java.util.Timer包中,现在有一个需求,要求2秒钟执行一次PING操作,4秒钟执行一次PONG操作,直接上代码:package com.norelax.www;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class TraditionalTimer原创 2016-05-15 15:39:42 · 310 阅读 · 0 评论 -
java线程范围内的数据共享
1.不使用ThreadLocal,自己定义一个map,用来存放当前线程的数据package com.norelax.www;import java.util.Map;import java.util.Random;import java.util.concurrent.ConcurrentHashMap;public class ThreadScopeDataShare { //原创 2016-05-15 16:17:41 · 413 阅读 · 0 评论 -
java反射main方法执行,map集合与实体转换器,
反射工具类原创 2016-05-28 16:34:59 · 529 阅读 · 0 评论 -
生产者和消费者的两种方式
在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,就不会让队列有空间,那么生产者就会一直无限等待下去。因此,一般情况下,当队列满时,会让生产者交出对临界原创 2016-05-29 20:27:06 · 549 阅读 · 0 评论 -
logstash配合redis实例
解释术语:Shipper:日志收集者。负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来,输出到Redis暂存。Indexer:日志存储者。负责从Redis接收日志,写入到本地文件。Broker:日志Hub,用来连接多个Shipper和多个Indexer。无论是Shipper还是Indexer,Logstash始终只做前面提到的3件事:Shipper从日志文件读取原创 2016-10-18 17:35:43 · 10466 阅读 · 0 评论 -
获取单例对象 Double Checked Locking Pattern的危险性
早期内置锁synchronized的性能比较低,所以在实现懒汉式单例模式时采取Double Checked Locking Pattern模式,它通过尽量少执行内置锁的锁定以提高性能,如下面的代码所示:public class MySystem { private static MySystem instance = null; private Date date = new Date();原创 2017-03-01 15:46:05 · 394 阅读 · 0 评论 -
java代理的几种方式
1、静态代理:类A实现接口B,则静态代理类C也实现接口B,并对类A中的方法进行增强例如:2、JDK动态代理(需要类实现接口)3、Cglib动态代理(cglib不需要类实现接口,原理:通过一个类来继承此类,让其子类成为代理类)要求此类不能被final关键字修饰原创 2016-04-06 16:48:29 · 490 阅读 · 0 评论 -
Java中加密工具类
/** * @ClassName: test1 * @Description: TODO(这里用一句话描述这个类的作用) * @author wusong * @date 2014-9-2 下午12:56:11 * */package com.hyphen.util;import java.io.UnsupportedEncodingException原创 2014-09-24 12:08:42 · 494 阅读 · 1 评论 -
hashmap和hashtable的区别
HashMap Hashtable父类 AbstractMap Dictiionary是否同步 否 是k,v可否null 是 否原创 2013-11-29 14:21:49 · 524 阅读 · 1 评论 -
java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not
没有找到beans.xml,首先确定你项目里有这个文件吗,如果没有请添加,或者你已经存在bean配置文件,只是名字不是beans.xml,请改正名字。此外还要注意最好把bans.xml加入到classpath里,就是放到你的包里。最简单的是放在src下就行。如果在eclipse里面,具体操作:右键项目---->properties--->Java Build Path--->source---原创 2013-12-10 12:39:42 · 882 阅读 · 0 评论 -
java中栈和堆的区别?
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和 multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是原创 2013-12-10 16:01:59 · 502 阅读 · 0 评论 -
怎样解决maven项目中依赖的jar包和tomcat中的jar包的冲突
1.首先在pom.xml中用>标签,将不要发布的依赖包(引起冲突的jar包)写到标签体中,让这些jar包不起作用2.在目标tomcat中引入在标签体中写入刚刚在标签体中写入的依赖jar包原创 2013-12-12 09:46:38 · 1817 阅读 · 0 评论 -
Spring核心技术阐述(IOC、DI、AOP)
IOC(Inversion of Control)——控制反转 首先介绍IoC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,原创 2013-12-04 19:19:52 · 610 阅读 · 1 评论 -
Spring MVC返回json数据的方法
Spring MVC 3.0 返回JSON数据的几种方法:1. 直接 PrintWriter 输出2. 使用 JSP 视图3. 使用Spring内置的支持// Spring MVC 配置[html] view plaincopybean class="org.springframework.web.servlet.mvc.an原创 2013-12-17 16:08:55 · 807 阅读 · 0 评论 -
Java实现斐波那契数列
为了应付软考,补补基础知识,特记录下以备后用。斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。以下是Java代码实现(递归与递推两种方式):[java] view plaincopyi原创 2013-12-20 16:16:22 · 652 阅读 · 0 评论 -
SpringMVC中的文件上传
这是用的是SpringMVC-3.1.1、commons-fileupload-1.2.2和io-2.0.1首先是web.xml[html] view plaincopyprint?xml version="1.0" encoding="UTF-8"?> web-app version="2.5" xml转载 2014-04-09 13:12:59 · 388 阅读 · 0 评论 -
java将阿拉伯数字转换为中文
package cn.com.goldpalm;/** * @authorwusong * */public class CnConversion2{ //阿拉伯数字,字符串类型 public String number; //阿拉伯数字,int类型 public int inumber;//阿拉伯数字的位数 public int size; //构原创 2014-06-19 18:10:37 · 1044 阅读 · 1 评论 -
java序列化和反序列化工具
package com.nettyrpc.protocol;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import org.objenesis.Objenesis;import org.objenesis.ObjenesisStd;import com.dyuproject.protostu原创 2017-03-24 10:56:37 · 446 阅读 · 0 评论