java
文章平均质量分 78
小于号yyds
Nothing to lose, everything to gain
展开
-
java和js之间互相调用实践(一)
package com.wawmg.js;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;public class HelloScriptingWor原创 2013-05-19 21:49:01 · 1652 阅读 · 0 评论 -
理解storm的并行执行,workder,executor,task的关系以及调度算法
官方对storm中worker,executor,task讲解非常清楚,https://github.com/nathanmarz/storm/wiki/Understanding-the-parallelism-of-a-Storm-topology 转载到个人博客上。一图胜千言: Storm distinguishes between the followi转载 2015-01-29 15:38:52 · 7259 阅读 · 0 评论 -
分析多线程并发写HashMap线程被hang住的原因
在blogjava上看到一文谁能帮忙解释一下为什么这个程序会死锁?,激发了我那能害死猫的好奇,所以很费劲的琢磨了这个问题。由于涉及的内容较多,就单独发文阐述一下。public class TestLock { private final HashMap map = new HashMap(); public TestLock() { final Thread t1 = new转载 2014-02-18 22:46:41 · 4624 阅读 · 1 评论 -
小心LinkedHashMap的get()方法
这是一个来自实际项目的例子,在这个案例中,有同事基于jdk中的LinkedHashMap设计了一个LRUCache,为了提高性能,使用了 ReentrantReadWriteLock 读写锁:写锁对应put()方法,而读锁对应get()方法,期望通过读写锁来实现并发get()。 代码实现如下:www.2cto.comprivate ReentrantReadWriteLock loc转载 2014-02-19 12:11:08 · 15573 阅读 · 1 评论 -
maven搭建spring mvc web项目
转载地址:http://blog.csdn.net/jiushuai/article/details/7004855使用Eclipse构建Maven的SpringMVC项目 首先Eclipse需要安装Maven的插件,地址:http://m2eclipse.sonatype.org/sites/m2e。 用MyEclipse安装Maven插转载 2014-01-15 00:00:11 · 3813 阅读 · 0 评论 -
java动态加载jar包,并运行其中的类和方法
动态加载jar包,在实际开发中经常会需要用到,尤其涉及平台和业务的关系的时候,业务逻辑部分可以独立出去交给业务方管理,业务方只需要提供jar包,就能在平台上运行。下面通过一个实例来直观演示:第一:定义一个抽象类AbstractAction (稍后换成接口的实例)package com.java.loader;public abstract class AbstractAction原创 2014-01-07 16:58:36 · 102686 阅读 · 7 评论 -
java中通过反射获取方法并且调用(getMethod和invoke深入)实践
为了支持业务的快速变更,往往采用可配置的方式,将业务逻辑的处理部分配置在数据库中或者XMl文件里。配置什么,如何配置才更灵活,That's a problem.以数据库配置为例(xml相同),在数据库中可以配置上java包名+类名,一个类只处理一个功能(符合设计模式中的单一性原则),这样只需要把数据库中的类名读出来,Class.forname("xxxx").newInstance()即可实现原创 2013-12-17 00:43:22 · 40912 阅读 · 1 评论 -
java中的intern()
1. 首先String不属于8种基本数据类型,String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;3. String str=”kvill”;String str转载 2013-12-16 11:52:37 · 1285 阅读 · 0 评论 -
Java 动态加载
第一部分:Java虚拟机启动时,关于类加载方面的一些动作当使用java ProgramName.class运行程序时,Java找到JRE,接着找到jvm.dll,把该动态库载入内存,这就是JVM。然后加载其它动态库, 并激活JVM。JVM激活之后会进行一些初始化工作,之后生成BootstrapLoader,该Class Loader是由C++写的。BootstrapLoader加载Laun转载 2013-12-16 14:53:54 · 1772 阅读 · 0 评论 -
Hadoop源码详解 org.apache.hadoop.conf (配置类) (二)
Configuration是org.apache.hadoop.conf包中的主类Configuration类中包含了10个属性private static final Log LOG = LogFactory.getLog(Configuration.class); // LOG是记录日志的对象private boolean quietmode = ture;quie原创 2013-05-29 01:06:27 · 10090 阅读 · 0 评论 -
java中hashcode和equals方法的关系
Q1:为什么要重写equals方法?在java中new出来的对象obj1,obj2即使是内容完全相同,但在内存中的地址不一样,也就是在heap上分配了两份内存。有时候我们必须比较对象是否已存在,比如HashSet里的值是不能重复的。那怎么判断对象是否一样呢?调用equals方法。比如 obj1!=null && !obj1.eqauls(obj2)。Q2:如果DO中没有写eq...转载 2019-10-10 15:02:49 · 399 阅读 · 0 评论