01 2018 档案
摘要:1,新增maven项目 然后输入相应包名,项目名,创建如下项目 发现以上有报错,需要进行如下操作: 下面文章转载自:http://blog.csdn.net/zhshulin/article/details/37921705 2、按照以上步骤就可以创建一个maven项目,可以看到最下图的目录结构,但
阅读全文
摘要:pom.xml里面各个配置的含义如下: 例如上一节创建的如下: 依赖范围:<scop> 三种classpath: 编译 测试 运行 scop选项: compile:默认的范围,编译测试运行都有效 provided:在编译和测试时候有效 runtime:在测试和运行时有效 test:只在测试范围有效
阅读全文
摘要:一,更改eclipse默认的maven配置 window->preference 选择本地maven目录 一直确定后 二,更改maven默认settings window->preference 选择上一章中自己建的目录下的settings。 三,新建一个maven项目 然后 成功生成的项目: 运行
阅读全文
摘要:JVM——Java虚拟机架构 地址:http://blog.csdn.net/seu_calvin/article/details/51404589 JVM——内存管理和垃圾回收 地址:http://blog.csdn.net/seu_calvin/article/details/51892567
阅读全文
摘要:maven常用命令 mvn -v 查看maven版本 compile 编译 test 测试 package 打包 clean 删除target install 安装jar包到本地仓库中。 maven自动创建目录骨架: maven规定两条目录骨架: src/main/java/主代码 src/test
阅读全文
摘要:一,下载maven。进入官网,点击downland,选择相应的版本下载。 2, 二,解压到相应目录下。 例如下载如下: 解压到该路径: 三,配置环境变量,新建一个maven_Home的变量,值为有bin文件夹的目录。 该目录: 变量: 四:在path目录中新增相关变量:具体就是上诉的系统变量+bin
阅读全文
摘要:下面是一共通过volatile实现原子性的例子: 通过建立100个线程,计算number这个变量最后的结果。 运行结果: 发现有几种结果: 造成这个结果的原因就是,volatile关键字具有可见性,number++实际上有三步操作,但是不具备原子性。 程序分析: number++包含三步操作:1,读
阅读全文
摘要:常用注解: 自定义注解,标准格式: 1,target:注解作用域 2,Retention:声明周期 运行子类继承,但是子类继承只能作用到类注解,字段注解,是继承不了的。 使用注解:通过下面这种方式,为注解的成员赋值,使用的时候会通过成员名,找到这些值,去使用这些值。 如果注解只有一共成员,该成员必须
阅读全文
摘要:看过这篇文章后,实践写的 http://blog.csdn.net/qq_27857857/article/details/71250401 一共做了以下几部: 第一步: 第二步: 一直next,到第三步: 第四部:找到JDK目录: 比如我的目录是: 第五步:选择该目录: 第六步:勾选JDK为默认路
阅读全文
摘要:比如有一个json 想分别获取它的key 和 value 还要一种方法用jquery回调函数完成的
阅读全文
摘要:结合业务层实现一共完成CRUD操作 1,定义一共IMessageServese接口 本业务层充分考虑到几乎所有可能出现的情况,而且也要涉及到参数传递问题。 2,定义这个接口实现类,所有的操作方法都是假实现; 3,既然整个代码都在Spring的控制中,那么可以利用依赖注入的方式在Action里面注入服
阅读全文
摘要:volatile关键字: 1)能够保证volatile变量的可见性 2)不能保证volatile变量复杂操作的原子性。 volatile如何实现内存可见性: 深入来说:通过加入内存屏障和禁止重排序优化来实现的。 1)对volatile变量执行写操作时,会在写操作后加入一条store屏障指令 2)对v
阅读全文
摘要:以下是一个普通线程代码: 这段线程目标是输出6。 但是因为线程的执行顺序,可能导致不同的结果: 执行顺序:1.1-》2.1-》2.2-》1.2 结果:3 执行顺序,加上重排序的原因,导致先1.2,后1.1:1.2-》2.1-》2.2-》1.1 结果:0 可见性分析: 导致共享变量在线程间不可见的原因
阅读全文
摘要:可见性:一个线程对共享变量值的修改,能够及时呗其他线程看到。 共享变量:如果一个变量在多个线程的内存中都存在副本,那么这个变量就是这几个线程的共享变量。 java内存模型(JMM) 描述了java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和内存中读取出变量这样的底层细节
阅读全文
摘要:通过Class,Method来认识泛型的本质 运行结果: 分析上诉结果: 1,list和list1都能add加入集合String类型变量,但是list1由于使用了泛型,所以限定只能加入String类型的,而不能加入Int类型的,但是list没有使用泛型,所以 可以加入任意类型变量。使用泛型的作用就是
阅读全文
摘要:方法的反射 1)如何获取某个方法 方法的名称和方法的参数列表才能唯一决定某个方法。 2)方法反射的操作 method.invoke(对象,参数列表)。 代码实例:
阅读全文
摘要:获取成员变量信息 代码及说明: 调用该方法: 运行结果: 获取构造函数信息 代码及说明: 调用: 结果:
阅读全文
摘要:Class.forName("类的全称") 1)不仅表示类的类类型,还表示了动态加载类 2)请区分编译,运行 3)编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 比如下面: 比如一个类里面有如下方法,当条件满足word的时候,调用 Word w=new Word(); 当满足Excel时候,
阅读全文
摘要:面向对象的世界里,万事万物皆对象。 1)类是谁的对象呢? 类是对象,类是java.lang.Class类的实例对象。 2)这个对象如何表示呢?
阅读全文
摘要:本次实现数据的CRUD功能,数据依然以VO类形式进行数据接收。 一,建立Message.java类操作,负责数据的接收操作。 和 2,定义Action。 范例:定义MessageAction 下面由于第一次执行,可以直接利用地址重写方式传递所需要数据。 后台服务器结果: 以上地址组成结构如下: 1,
阅读全文
摘要:新建一共环境,添加spring支持,就可以开发springMVC了。 既然是springMVC,就必须为其定义相关配置。 1,springMVC所有配置都需要在applicationContext.xml中定义。 范例:修改配置文件 添加这几个支持: 发现配置中已经支持了 对springMVC进行a
阅读全文
摘要:之前是通过配置完成aop操作,如果自己写的话,太麻烦了,可以使用基于annotation的配置完成。 第一步:打开AOP的annotation支持 加上一句话: 随后需要在ServiceAspect类中编写所需要使用的annotation。 范例:修改serviceAspect类。 运行结果: 可以
阅读全文
摘要:范例:定义一个参数拦截 配置也修改: 此时运行报错。 此时serviceBefore2方法有参数了,就需要修改了。 范例:定义切入点表达式 这里通过 and args() 和arg-names来指定要传入操作前方法的参数。 运行结果: 因为after方法没有参数,不能直接使用第一个定义的切入点,所以
阅读全文
摘要:AOP是面向方面的编程,在实际开发中,AOP都会工作在业务层,因为业务层要调用数据层,而业务层也要完成所有辅助性的业务层操作。 范例:定义业务层操作接口: 实现操作接口: 此时的业务层只关兴核心的业务功能,核心的功能就是调用了业务层代码。 随后所有的辅助性操作功能,都通过spring容器,动态配置。
阅读全文