- 博客(45)
- 收藏
- 关注
原创 转:有多少人在滥用 service+serviceImpl,又有多少人在误用myBatis
被滥用的service+serviceImpl JAVA大概是从2003年开始流行,我也是从那时开始学习JAVA。在这十多年中,相关技术推陈出新,我切身感受到这些变化。虽然很多程序员不断追随新技术,但未必领悟到这些变化的推动因素。 最近我看到不少新开工的项目,仍然大量采用 “service+serviceImpl、dao+daoImpl” 的代码结构,说真的,我有点痛心,似乎...
2018-01-25 10:40:52
6026
3
原创 @Autowired和new的区别
@Autowired相当于setter,在注入之前,对象已经实例化,是在这个接口注解的时候实例化的; 而new只是实例化一个对象,而且new的对象不能调用注入的其他类 eg: 1、控制器@controllerpublic class BusinessShopShoesController extends BaseController { @Autowired...
2018-01-25 10:35:57
2768
原创 Spring、使用注解方式装配对象(@Resource、@Autowired)
[img]http://dl2.iteye.com/upload/attachment/0128/6714/5457d7b5-1b20-36e5-a305-ea4a67e7ed7d.jpg[/img]首先,引入注解所使用的Jar包 :common-annotations.jar下面说明一下为什么推荐使用 @Resorce进行注解:1、@Autowired与@Resource...
2018-01-25 10:33:34
181
原创 Spring Junit 读取WEB-INF下的配置文件
测试环境:Spring3.0.5 + Junit4.8.1 配置文件放在class目录下:[java] view plain copyApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml"); WEB-INF下: [java] view plain ...
2018-01-25 10:31:44
157
原创 Java compiler level does not match 问题解决
导入一个新的项目,可能会出现Java compiler level does not match 错误,这是因为eclipse和该项目的JDK编译版本不同导致的。1,首先查看eclipse的jdk编译版本2,搜索compile,设置编译出的文件使用的格式是JDK1.73,进入项目,把项目--prorerties--Java compile,把项目的编译版本设置...
2018-01-24 10:59:58
397
原创 eclipse / MyEclipse JSP默认打开方式更改
eclipse / MyEclipse JSP默认打开方式是 MyEclipse Visual JSP Designer 它包含了Preview界面所以很慢,而我们如果只需要看代码的话就可以在打开JSP文件时 右键JSP文件 --> Open With --> MyEclipse JSP Editor 但是这样很繁琐,所以要修改eclipse的默认打开(双击)方式...
2017-07-18 14:30:32
158
阿里巴巴java开发手册 1.2
前言《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队的集体经验总结,经历了多次大规模一线实战的检验及不断的完善,反馈给广大开发者。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致后续维护艰难;没有鉴权的漏洞代...
2017-07-07 20:28:08
143
原创 深入解析---MySQL查询优化之explain
在分析查询性能时,考虑EXPLAIN关键字同样很管用。EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作、以及MySQL成功返回结果集需要执行的行数。explain 可以帮助我们分析 select 语句,让我们知道查询效率低下的原因,从而改进我们查询,让查询优化器能够更好的工作。一、MySQL 查询优化器是如何工作的MySQL 查询优化器有几个目标,但...
2017-07-06 19:33:49
109
原创 转: Java之CountDownLatch使用
1、类介绍一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。 一个线程(或者多个), 等待另外N个线...
2017-07-04 16:23:18
88
原创 SimpleDateFormat线程安全重现与解决
一. 为什么SimpleDateFormat不是线程安全的? Java源码如下: /** * Date formats are not synchronized. * It is recommended to create separate format instances for each thread. * If multiple threads access...
2017-07-04 14:59:47
190
原创 Thread.join()方法详解
API: joinpublic final void join() throws InterruptedException等待该线程终止。 抛出:InterruptedException - 如果任何线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。 joinpublic final v...
2017-07-04 11:15:58
1676
hashMap优化
1 集合初始化时,指定集合初始值大小。 说明:HashMap 使用 HashMap(int initialCapacity) 初始化, 正例:initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即 loader factor)默认为 0.75,如果暂时无法确定初始值大小,请设置为 16。 反例:HashMap 需要放置 1024 ...
2017-06-30 15:51:42
159
原创 jdk7 Collections.sort()引发的IllegalArgumentException
一 IllegalArgumentException的重现、解决 package cn.com.common;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class ComparatorTest { /** * ...
2017-06-30 15:26:11
619
java内部类:如何使用
一 定义:放在一个类的内部的类我们就叫内部类。 二、 作用1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以2.内部类拥有外围类的所有元素的访问权限3.可是实现多重继承4.可以避免修改接口而实现同一个类中两种同名方法的调用。 三、 例子 1 实现隐藏package cn.com.com...
2017-06-29 16:57:23
1098
1
原创 ArrayList循环遍历并删除元素的常见陷阱
在工作和学习中,经常碰到删除ArrayList里面的某个元素,看似一个很简单的问题,却很容易出bug。不妨把这个问题当做一道面试题目,我想一定能难道不少的人。今天就给大家说一下在ArrayList循环遍历并删除元素的问题。首先请看下面的例子: import java.util.ArrayList;publicclassArrayL...
2017-06-29 11:22:53
113
原创 转: Eclipse中使用github
1.安装egit插件在Eclipse中选择help->Eclipse Marketplace,在search中输入egit,找到后安装即可 2.导入github项目2.1.在github上找到你要导入的源码项目,比如: https://github.com/sumoli/gallery-by-react.git 2.2.从Eclipse中选择File->import-...
2017-06-28 14:24:00
273
eclipse快速创建标准maven管理的javaEE、web项目
1 先安装 eclipse maven 插件的安装和配置 参见:http://linsky328.iteye.com/admin/blogs/2381806 2 eclipse下点击file,next-by-next 此时,1个maven的web创建完成了,但还需要对它进行完善。 选择java1.8保存,再打开...
2017-06-28 11:10:05
193
原创 eclipse maven 插件的安装和配置
1 eclipse安装 到官网下载安装 http://www.eclipse.org/downloads/eclipse-packages/ 2 maven 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成。Maven是 Apache 下的一个项目,目前最新版本是 3.0.4,我用的也是这个。 首先去官网下载 Maven:http:...
2017-06-28 10:48:19
106
原创 翻译: 深入理解Java Integer的缓存策略
本文将介绍 Java 中 Integer 缓存的相关知识。这是 Java 5 中引入的一个有助于节省内存、提高性能的特性。首先看一个使用 Integer 的示例代码,展示了 Integer 的缓存行为。接着我们将学习这种实现的原因和目的。你可以先猜猜下面 Java 程序的输出结果。很明显,这里有一些小陷阱,这也是我们写这篇文章的原因。/** * 测试Integer的缓存 In...
2017-06-26 17:49:46
127
原创 Select2搜索框无法输入
用modal来show一个对话框dialog.modal({ backdrop:true, keyboard:true, show:true});然后再modal中初始化select2dialog.find("select").select2({ formatNoMatches: function() { retur...
2017-06-23 16:22:19
1274
原创 @WebServlet注解配置问题记录
@WebServlet 该注解用于在Web应用中定义Servlet组件。该注解在一个类上指定并包含声明Servlet的元数据。必须指定注解的urlPatterns或value属性。所有其他属性是可选的默认设置(请参考javadoc获取更多细节)。当注解上唯一属性是url模式时推荐使用value且当也有使用其他属性时使用urlPatterns属性。在同一注解上同时使用value 和u...
2017-06-23 10:34:13
623
"javax.servlet.http.HttpServlet" was not found on the Java Build Path
今天建立了一个Javaweb工程,并在eclipse中配置了Web容器Tomcat。原本开心的新建jsp页面,添加一个简单的Java类。可是,JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path。原来Javaweb工程类中没有添加Tomc...
2017-06-23 10:15:01
136
性能优化之ArrayList
ArrayListTest 写道package cn.com;import java.util.ArrayList;/** * * @ClassName: ArrayListTest * @Description: 大容量性能测试 * @author linsky328* @date 2017年6月22日 下午2:31:25 * */public class ArrayListTest { ...
2017-06-22 14:25:02
250
原创 LinkedList和ArrayList的使用及性能分析
转自http://www.jb51.net/article/42767.htm 第1部分 List概括List的框架图List 是一个接口,它继承于Collection的接口。它代表着有序的队列。AbstractList 是一个抽象类,它继承于AbstractCollection。AbstractList实现List接口中除size()、get(int location)之外的函...
2017-06-22 10:54:29
90
原创 ArrayList源码分析
ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素、灵活的设置数组的大小...... 认真阅读本文,我相信一定会对你有帮助。比如为什么ArrayList里面提供了一个受保护的removeRange方法?提供了其他没有被调用过的私有方法? 首先看到对ArrayList的定义: public class Ar...
2017-06-22 10:36:17
85
原创 努力 坚持 自信 成功!java全面基础笔记2
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------7. API( Applaction Program Interface) 6.1 Object 所有类的终极父类,该类中定义的方法,其他类中都有。该类可以直接创建对象。 常见方法:
2012-07-28 18:37:54
639
原创 努力 坚持 自信 成功!java全面基础笔记1
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------从6月25号进入广州传智博客学习基础班,转眼就过去了1个月。每天很辛苦,每天很忙碌,每天很充实!追求北京黑马: java软件学习的最强训练基地,追求人生的理想的实现,追求自我价值的肯定,我还得努力,坚持,自信,充满斗志! 以下是我这个多月来,在老师指导下
2012-07-28 18:34:20
1288
原创 银行业务调动系统小结2
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------/*(四)ServiceWindow类1.定义一个start方法,内部启动一个线程,根据服务窗口的类别分别循环调用三个不同的方法。2.定义三个方法分别对三种客户进行服务,为了观察运行效果,应详细打印出其中的细节信息。源码如下:*/public c
2012-07-28 18:21:15
140
原创 银行业务调动系统小结1
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------package com.isoftstone.interview.bank;import java.util.ArrayList;import java.util.List;/*分析和设计:(一)有三种对应类型的客户:VIP客户,普通客户,快速客户,
2012-07-28 18:17:44
230
原创 交通灯项目总结
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------package com.isoftstone.interview.traffic;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.uti
2012-07-28 00:02:11
225
原创 交通灯项目前奏(面向对象思想
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------package cn.itcast.day20120727;public class OopDemo1 { /** * @param args * * 面试题:用面向对象的 方式设计如下情景 。 * 两块石头磨成一把石刀,石刀可以砍树,看
2012-07-28 00:00:39
126
原创 交换数据的一类问题
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------class Person{ public String name = "jack";}class Demo2 { // 基本数据类型改值 public static void changeData( int x ){ x =
2012-07-27 23:58:58
149
原创 集合
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------集合:保存多个其他对象的对象,不能保存简单类型 List:有序(存放元素的顺序),可重复的集合 ArrayList:实质就是一个会自动增长的数组 查询效率比较高,增删的效率比较低,适用于查询比较频繁,增删动作较少的元素管理的集合。 加载大批量的
2012-07-27 23:54:50
190
原创 万年历的制作
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------/*需求: 已知: 1900.1..1星期一 请在命令窗口输入年份,打印出该年的万年历项目演示 ******************欢 迎 使 用 万 年 历******************星期日 星期一 星期二 星期三
2012-07-27 23:52:35
452
原创 张孝祥高薪技术7(JVM动态生成的类.
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------1 分析JVM动态生成的类 创建实现了Collection接口的动态类和查看其名称,分析Proxy.getProxyClass方法的各个参数。编码列出动态类中的所有构造方法和参数签名编码列出动态类中的所有方法和参数签名创建动态类的实例对象用反射
2012-07-27 23:41:59
5483
原创 张孝祥高薪技术6Aop,动态.txt
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 1 AOP交叉业务的编程问题即为面向方面的编程(Aspect oriented program ,简称AOP),AOP的目标就是要使交叉业务模块化。可以采用将切面代码移动到原始方法的周围,这与直接
2012-07-26 22:49:33
5421
原创 张孝祥高薪技术5类加载器
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 1 类加载器 Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader,AppClassLoader类加载器也是Java类,因为其他是java类的类加载器本身也要
2012-07-26 22:47:43
5661
原创 张孝祥高薪技术4(泛型)
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 1 泛型的作用 无法加入指定类型外的数据 ArrayList collection2 = new ArrayList(); collection2.add(1);
2012-07-26 00:34:45
5438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人