`
txidol
  • 浏览: 52164 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
1.语法糖 数字下划线 package com.java7developer.chapter1; import java.util.Collection; import java.util.HashMap; public class Coin { int test = 123_567; long test1 = 100_000L; } 2.switch语句中的String public void printDay(String dayOfWeek){ case "Sunday":System.out.println(& ...
Cron Expressions Cron-Expressions are used to configure instances ofCronTrigger. Cron-Expressions are strings that are actually made up of sevensub-expressions, that describe individual details of the schedule. These sub-expressionare separated with white-space, and represent: 1.Seconds 2.Minu ...
基本表达式 数字5 <property name="count" value="#{5}"/> 联合方式 <property name="message" value="The value is #{5}"/> 浮点型 <property name="frequency" value="#{89.7}"/> 科学表达式10000.0 <property name="capacity" value=&quo ...
命名空间表 aop Provides elements for declaring aspects and for automatically proxying @AspectJannotated classes as Spring aspects. beans The core primitive Spring namespace, enabling declaration of beans and how they should be wired. context Comes with elements fo ...
相关优化手段: 内联、常量折叠、公共表达式消除、自动装箱消除、 热度代码、逃逸分析、锁消除、栈上分配、标量替换 数组边界检查消除 ... volatile变量: 每次使用都会回主内存刷值 每次赋值都会同步到主内存 不会被指令重排序优化 特性: 原子性 read load assign use store write synchronized(lock unlock) 可见性 volatile synchronized final 有序性volatile synchronized 先行发生原则: 1.程序次序规则 同线程 2.管理锁定规 ...
运行时栈帧结构 1.局部变量表 null JIT编译器优化 2.操作数栈 LIFO 3.动态链接 | 4.方法返回地址 | 栈帧信息 5.附加信息 | —————————————————————————————————— 方法调用 1.解析调用 符号引用 静态、私有、实例构造器、父类方法 final 非虚方法 2.分派 1.静态分派 虚拟机(编译器)在重载时是通过参数的静态类型而不是实际类型作为判断 静态类型在编译器是可期的,且选择更加适合的版本 2.动态分派 重写 invokevirtual 运行期确定接受者实际类型 3.单分派与多分派 ...
类在虚拟机内存中的生命周期: —————————————————————— 加载 Loading 验证 Verification | 准备 Preparation | 连接 Linking 解析 Resolution | 初始化 Initialization 使用 Using 卸载 Unloading —————————— ...
这篇并不讲装饰模式的原理,只是罗列Struts2中使用的一些装饰类,总结在一起提供欣赏借鉴。 案列1 StrutsRequestWrapper 首先回忆下Servlet中针对ServletRequest的装饰类ServletRequestWrapper public class ServletRequestWrapper implements ServletRequest { private ServletRequest request; public ServletRequestWrapper(ServletRequest request) { ...
详细代码:http://download.csdn.net/detail/tanxiang21/5402599 模拟Struts2的工作责任链过程,接口调用invoke方法执行 public interface ActionInvocation{ Object getAction(); boolean isExecuted(); Result getResult() throws Exception; String getResultCode(); voi ...
目标:我们需要一个计算价格的类,有时候会打折 1.我们先设计一个接口 public interface PriceCalculationStrategy { public double calculatePrice(double price , double copies); public boolean match(double price , double copies); }2.我们有一些计算实现 public class DefaultDiscountPriceCalStrategy implements PriceCalculationStrategy{ pu ...
运用ThreadLocal模式的场景: 1.频繁创建生命周期短暂的实例(或者实例化代价昂贵)导致性能低下 2.需要线程安全,使用‘synchronized’线程同步同样导致性能低下 以下是Tim Cull的博文“SimpleDateFormat: Performance Pig”解决满足这一 ...
注解@Inject的操作类是ContainerImpl,@Inject在Struts中用到了很多,主要用来构造函数、属性、方法及方法参数注入,当调用ContainerImpl的Inject方法时,这些部分就启动,ContainerImpl初始化时,缓存这些构建方法 这里我们只分析查找这些带@Inject的注入器,并把它们缓存起来。 1.初始化一个注入器Map,用来放置找到@Inject后实例化的注入器,这里使用ReferenceCache缓存类,在运行期构建map,核心方法create会调用addInjectors方法扫描所有注入器加入到ReferenceCache缓存Map里面,并且内部实 ...
目标,创建一个方法注解,我们能够初始化时执行该方法,并可以给该方法传入注解的参数值 假设我们设计一个sayHello(String name) 方法,给该方法做个注解,初始时使用注解传入"小明" package annotation; public class HelloWorldS ...
/** * Program : LearnPattern.java * Author : tanx * Create : 2013-5-10 下午4:22:46 * */ package pattern; import java.util.ArrayList; import java.util.List; /** * * @author tanx * @version 1.0.0 * @2013-5-10 下午4:22:46 */ public class LearnPattern<K, V> { // 推荐的命名约定是使用大写的单个字母名称作为 ...
《JAVA与模式》之责任链模式 在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的:   责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接 ...
Global site tag (gtag.js) - Google Analytics