java
zhengfei1992
爱java,爱开发
展开
-
java设计模式---策略模式
所谓策略模式可以简单的想成:创建一个能够根据所传递的参数对象的不同而具有不同行为的方法。当然,当你需要装成高大上的样子的话,你可以这样跟你的朋友、上司说:策略模式定义了算法,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。栗子说话: 我们有一个鸭子应用,有各种鸭子,可以游泳,可以叫当然我们有设计了一个超类,并让各种鸭子都继承自这个超类,然后原创 2017-02-08 17:22:57 · 477 阅读 · 0 评论 -
彻底解决Spring MVC 中文乱码 问题
1:表单提交controller获得中文参数后乱码解决方案注意: jsp页面编码设置为UTF-8form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果[html] view plain copyprint?%@ page language="java" import="java.util.*" pageEnco转载 2017-08-14 14:24:31 · 392 阅读 · 0 评论 -
java内存区域讲解
Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的内存包含以下几个运行时数据区域程序计数器 程序计数器是一块比较小的内存区域,可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码解原创 2017-08-15 20:28:04 · 357 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来转载 2017-08-26 10:22:22 · 273 阅读 · 0 评论 -
Java虚拟机详解----常用JVM配置参数
原文地址:http://www.cnblogs.com/smyhvae/p/4736162.html【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/4736162.html联系方式:[email protected]转载 2017-08-26 11:43:16 · 312 阅读 · 0 评论 -
Java三大器之过滤器(Filter)的工作原理和代码演示
一、Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术之一,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp,Servlet, 静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提供了一个转载 2017-09-06 17:34:21 · 365 阅读 · 0 评论 -
Java三大器之监听器(Listener)的工作原理和代码演示
现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。首先来看一下ServletContextListener接口的源代码转载 2017-09-06 17:36:33 · 341 阅读 · 0 评论 -
Java三大器之拦截器(Interceptor)的实现原理及代码示例
前言:前面2篇博客,我们分析了Java中过滤器和监听器的实现原理,今天我们来看看拦截器。1,拦截器的概念 java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法转载 2017-09-06 17:38:29 · 603 阅读 · 0 评论 -
Java中字符串内存位置
前言总结一下:基本类型的变量数据和对象的引用都是放在栈里面的,对象本身放在堆里面,显式的String常量放在常量池,String对象放在堆中。常量池的说明常量池之前是放在方法区里面的,也就是在永久代里面的,从JDK7开始移到了堆里面。String内存位置说明显式的String常量String a = "test";String b = "test";原创 2017-09-06 20:40:16 · 1212 阅读 · 0 评论 -
java内存模型
1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性 由于转载 2017-08-30 21:11:24 · 229 阅读 · 0 评论 -
java中的语法糖
语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。指的是,在计算机语言中添加某种语法,这种语法能使程序员更方便的使用语言开发程序,同时增强程序代码的可读性,避免出错的机会;但是这种语法对语言的功能并没有影响。Java中的泛型,变长参数,自动拆箱/装箱,条件编译等都是,下面做简单的介绍和分析。泛型转载 2017-08-31 11:26:04 · 368 阅读 · 0 评论 -
深入理解Java类加载器(ClassLoader)
关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解Java类加载器(ClassLoader)深入理解Java并发之synchronized实现原理Java并发编程-无锁CAS与Unsafe类及其并发包Atomic深入理解...转载 2018-06-13 13:59:56 · 269 阅读 · 0 评论 -
Java集合及concurrent并发包总结
1.集合包 集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放Key-Value形式的键值对。 Collection中最常用的又分为两种类型的接口:List和Set,两者最明显的差别为List支持放入重复的元素,而Set不支持。List最常用的实现类有:ArrayList、LinkedList、Vector及St转载 2017-08-17 14:59:39 · 374 阅读 · 0 评论 -
java从数据库获取单个对象或对象集合的简单工具类
开发中在不用数据库的情况下操作数据库,比如说对数据库的增删改查,每次都重新撸一遍重复的代码,那样就会很麻烦,这里就给安利一个很简单的工具类来对数据库进行读写操作,当然并不能涵盖所有的功能,说了,只是很简单的操作数据库,当然你可以直接使用框架来操作,那样更好。。。话不多说,直接上代码。。。public class DBOperate<T> { private static Connection原创 2017-07-25 15:53:10 · 3115 阅读 · 0 评论 -
java判断一个数是否是素数
判断一个数是否是素数 素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数 如何判断一个数为素数呢? 提供两个方法 方法一:private boolean isSushu(int num){ boolean flag = true; if(num <2){ return false; } for(int i = 2;i<num;i++)原创 2017-05-19 10:01:45 · 7680 阅读 · 0 评论 -
java求最大公约数,最小公倍数
java求最大公约数,最小公倍数求两个数的最大公约数:private int getMaxGongYueShu(int a,int b){ int gongyue = 0; int min = a<b?a:b; for(int i = min;i>0;i--){ if(a%i == 0 && b%i == 0){ System.out.原创 2017-05-19 12:01:49 · 764 阅读 · 1 评论 -
java冒泡排序
java冒泡排序,就是将前后两个数相比较,如果前一个数比后一个数要大,就将两个数的位置进行交换 下面来看程式:准备工作: /** * 随机生成一个无序数组 * @return */ public static int[] getUnorderedArr(){ int[] arr = new int[100]; for(i原创 2017-05-20 15:59:56 · 591 阅读 · 0 评论 -
java选择排序
java选择排序 关于排序,大家还可以看下这篇文章,冒泡排序选择排序,名字还是挺难懂得,但是原理很简单,就是给到你一个数组,第一次做循环判断时只需要保证你数组的第一数是最小的,即:将第一个数和第二个数比较,如果第二个数比第一个数小,就将两个数交换,然后再比较第一个数和第三个数,若第三个数还小,就继续交换,总之,把小的往前丢。code献上: 准备工作: /** * 随机生成一个无原创 2017-05-20 16:09:57 · 463 阅读 · 0 评论 -
java二分查找
本文是关于java二分查找的方法 关于二分查找,大家要能知道一点,就是二分查找的条件就是:查找的数组是一个有序数组,关于如何将一个无序数组进行排序,大家可以看下 java冒泡排序 和 java选择排序好啦,废话不多,上车@_@所谓的二分查找,就是每次从查询数组的中间的值,判断这个值和要查找的值得大小,相同,那就是要查的值,若中间的值比要查找的值大,那就往左边找,否则就往右边找 上代码: /原创 2017-05-20 16:29:08 · 657 阅读 · 0 评论 -
java插入排序
给大家安利一个比较简单实现的插入排序的算法直接撸代码了private void test10(int[] arr) { int temp = 0; for (int i = 1; i < arr.length; i++) { for (int j = i; j > 0; j--) { if (arr[j - 1] > arr[j]) {原创 2017-05-22 20:53:36 · 386 阅读 · 0 评论 -
java多线程买票,同步锁
经典多线程例子:售卖火车票 要求销售1000张票,要求有10个窗口来进行销售, 请编写多线程程序来模拟这个效果public class MyTask implements Runnable{ private int ticket = 10; @Override public void run() { while(true){ synchr原创 2017-06-07 10:32:04 · 3718 阅读 · 0 评论 -
拷贝文件夹到一个新的文件
/** * 拷贝文件夹到一个新的文件 * * @param newPath 要拷贝的文件路径 * @param oldPath 要拷贝到哪个路径 * @throws IOException 异常抛出由调用者处理 */public static void copyDirs(String oldPath, String newPath) throws IOException {原创 2017-06-02 20:29:17 · 654 阅读 · 0 评论 -
(转载)spring3和spring4的一些需要注意的地方
转载地址:http://blog.csdn.net/cr135810/article/details/52302387最近搭建了一个框架,开始用的spring3.1.1 后来升级到spring4.2.0,把遇到的问题记录一下当做备份了1、Java.lang.NoSuchMethodError: org.springframework.aop.scope.ScopedProxyUtils.isSco转载 2017-08-08 20:05:26 · 3152 阅读 · 0 评论 -
Struts2--获取ServletAPI的方式
当我们在使用Struts2的时候,在Action类中要怎么获取我们所需要的ServletApi呢,比如常用的request对象,response对象等,下面介绍三种接口对象的获取的方式通过我们的ActionContext来获取ActionContext,把它理解为一个装数据的容器,每次创建Action的时候,同时都会创建一个ActionContext,它用来保存Action执行过程中用到的数据原创 2017-07-24 17:30:22 · 338 阅读 · 0 评论 -
深入理解Java注解类型(@Annotation)
关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解Java并发之synchronized实现原理深入理解Java内存模型(JMM)及volatile关键字深入理解Java类加载器(ClassLoader)java注解是在...转载 2018-06-14 13:36:19 · 355 阅读 · 0 评论