
Java以及Javaweb相关
是这耀眼的瞬间
这个作者很懒,什么都没留下…
展开
-
for循环的执行顺序
public class Print{ static boolean out(char c){ System.out.println(c); return true; } public static void main(String[] argv){ int i = 0; for(out('A');out('B') &...转载 2018-06-21 22:27:38 · 1533 阅读 · 0 评论 -
finally语句块选择题
有关finally语句块说法正确的是( )正确答案: A B C D 你的答案: A C D (错误)不管catch是否捕获异常,finally语句块都是要被执行的在try语句块或catch语句块中执行到System.exit(0)直接退出程序finally块中的return语句会覆盖try块中的return返回finally 语句块在 catch语句块中的return语句之前执行1、不管有木...转载 2018-06-25 22:24:39 · 2256 阅读 · 0 评论 -
java中带继承类的加载顺序详解及实战
随笔 - 150 文章 - 0 评论 - 465java中带继承类的加载顺序详解及实战一、背景: 在面试中,在java基础方面,类的加载顺序经常被问及,很多时候我们是搞不清楚到底类的加载顺序是怎么样的,那么今天我们就来看看带有继承的类的加载顺序到底是怎么一回事?在此记下也方便以后复习巩固!二、测试步骤:1.父类代码 1 package com.hafiz.zhang; 2 3 publ...转载 2018-06-11 22:31:46 · 2465 阅读 · 0 评论 -
有父类的类加载顺序
下面代码的输出是什么?1234567891011121314151617181920212223242526public class Base{ private String baseName = "base"; public Base() { callName(); } public void callName() { Syste...转载 2018-06-11 22:45:02 · 852 阅读 · 0 评论 -
原 深入java 定义正则表达式
本文分为3大部分正则表达式的通用定义规则正则表达式定义的例子附加常用的匹配例子正则表达式的通用定义规则使用正则表达式我们只要关心一个类即可:java.util.regex.Pattern 摘抄自官方API文档。 指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器...转载 2018-06-23 16:16:29 · 355 阅读 · 0 评论 -
java 泛型详解
泛型之前在面向对象编程语言中,多态算是一种泛化机制。例如,你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性。此外,如果将方法参数声明为接口,将会更加灵活。在Java增加泛型类型之前,通用程序的设计就是利用继承实现的,例如,ArrayList类只维护一个Object引用的数组,Object为所有类基类。[java] view plai...转载 2018-06-24 14:50:08 · 242 阅读 · 0 评论 -
为什么this super不能用在static方法中??
为什么this super不能用在static方法中??2016年07月28日 20:54:29阅读数:2499[java] view plain copyclass Fu { int a; } class Zi extends Fu { int b; static void test(){ this.b; super.a;...转载 2018-06-25 22:20:45 · 1723 阅读 · 0 评论 -
java中finally语句块的深度解析(try catch finally的执行顺序)
1、除了以下2种情况外,不管有木有出现异常,finally块中代码都会执行;①程序未进入try{}块的执行,如在try之前出现运行时异常,程序终止。②程序进入到try{}和catch{}块的执行,但是在try{}或者catch{}块碰到了System.exit(0)语句,jvm直接退出。finally{}块不会执行2、当try和catch中有return时,finally仍然会执行;3、final...转载 2018-06-25 22:42:21 · 797 阅读 · 0 评论 -
Java不可变类机制
不可变类(不可变类):所谓的不可变类是指这个类的实例一旦创建完成后,能改变就不其成员变量值如。 JDK 内部自带的很多不可变类:基于整数,龙和字符串等。可变类( Mutable Class ):相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。不可变类的特性对 JAVA 来说带来怎样的好处?1 )线程安全:不可变对象是线程安全的,在线程之间可以相互共享,不需要...转载 2018-07-02 15:09:17 · 733 阅读 · 0 评论 -
详细介绍序列化
如果你只知道实现 Serializable 接口的对象,可以序列化为本地文件。那你最好再阅读该篇文章,文章对序列化进行了更深一步的讨论,用实际的例子代码讲述了序列化的高级认识,包括父类序列化的问题、静态变量问题、transient 关键字的影响、序列化 ID 问题。在笔者实际开发过程中,就多次遇到序列化的问题,在该文章中也会与读者分享。引言 将Java对象序列化为二进制文件的 Java 序列化技...转载 2018-06-26 19:26:25 · 327 阅读 · 0 评论 -
java中Object... 的用法是什么意思?
@SuppressWarnings("unchecked") public List<T> findByConditions(String hql,Object... conditions) throws Exception{ Session session = getSessionFactory().getCurrentSession(); ...转载 2018-06-23 15:56:04 · 28060 阅读 · 0 评论 -
Java中子类是否可以继承父类的static变量和方法而呈现多态特性
Java中子类是否可以继承父类的static变量和方法而呈现多态特性静态方法通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明为static的方法有以下几条限制:它们仅能调用其他的static 方法。它们只能访问static数据。它们不能以任何方式引用this 或super。无论是static修饰的变量,还是static修饰的方法,我们都...转载 2018-06-14 22:45:46 · 298 阅读 · 0 评论 -
java 集合与数组的互转
java集合与数组的互转2017年03月11日14:42:49阅读数:1831在实际工作中,我们经常需要收集类型与数组的互相转换,JAVAAPI也提供了相应的方法帮我们完成操作。//集合转为数组 Collection.toArray(T [] a)//数组转为集合 Arrays.toList(T ...一)让我们通过示例演示一下 @Test public void testList2Arra...转载 2018-06-21 17:09:35 · 242 阅读 · 0 评论 -
Java中基本数据类型和引用数据类型的存放位置
的Java中基本数据类型和引用数据类型的存放位置2017年07月29日11:10:01阅读数:1143基本数据类型是放在栈中还是放在堆中,这取决于基本类型声明的位置。一:在方法中声明的变量,即使变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有...转载 2018-06-21 16:31:13 · 1411 阅读 · 0 评论 -
Java 中到底是应该用接口类型 还是实现类的类类型去引用对象?
Java中到底是应该用接口类型还是实现类的类类型去引用对象?2018年03月28日20:50:30阅读数:282标题意思有点绕,说白了就是下面使用方式的选择问题//implA 为接口 ClassB为其实现类implA A=new ClassB();//接口类型的引用变量A 去接收对象地址orClassB A=new ClassB();//类类型的引用变量A 去接收对象地址1234先附上有关接...转载 2018-06-21 16:21:58 · 2068 阅读 · 3 评论 -
super和this关键字总结
这几天看到类在继承时会用到this和super,这里就做了一点总结,与各位共同交流,有错误请各位指正~thisthis是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this的用法在java中大体可以分为3种:1.普通的直接引用这种就不用讲了,this相当于是指向当前对象本身。2.形参与成员名字重名,用this来区分:1234567891011121314151617class...转载 2018-06-20 22:35:17 · 319 阅读 · 0 评论 -
java运行时异常和一般异常
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出)...转载 2018-06-20 22:20:43 · 1372 阅读 · 0 评论 -
图解Java 垃圾回收机制
摘要: Java技术体系中所提倡的 自动内存管理 最终可以归结为自动化地解决了两个问题:给对象分配内存 以及 回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的 堆区。关于对象分配内存问题,笔者的博文《JVM 内存模型概述》已经阐述了 如何划分可用空间及其涉及到的线程安全问题,本文将结合垃圾回收策略进一步给出内存分配规则。垃圾回收机制的引入可以有效的防止内存泄露、保证内存...转载 2018-05-27 16:58:05 · 264 阅读 · 0 评论 -
什么是接口和匿名内部类
什么是接口和匿名内部类接口: java中的接口定义:多个抽象类的抽象就是接口. Java中的接口表示规范,用于定义一组抽象方法,表示某一类事物必须具备的功能,要求实现类必须来实现该接口并提供方法实现. Java接口的方法只能是抽象的和公开的,Java接口不能有构造器。1234匿名内部类:匿名内部类也就是没有名字的内部类12正因为没有名字,所以匿名内部类只能使用一次,通常它...转载 2018-06-20 11:33:50 · 2089 阅读 · 1 评论 -
匿名类和匿名对象
匿名类和匿名对象在的Java中有匿名类和匿名对象的概念,有名字可知他们是因为没有名字二指定为匿名类的。匿名类匿名类(也叫匿名内部类)他是内部类的一种匿名类在类中只能使用一次,它通常用来简化代码的编写,但使用匿名类还有一个前提条件:它必须继承一个父类或者一个接口,因此这个匿名类会被默认为这个父类或者接口的子类或实现类如://这是一个简单的接口public interface IPresenter ...转载 2018-06-20 17:25:40 · 1478 阅读 · 0 评论 -
Java的Integer和int有什么区别(转)
Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换,对应如下:原始类型:boolean,char,byte,short,int,long,f...转载 2018-09-09 22:08:08 · 2498 阅读 · 0 评论 -
KMP(看毛片算法)Next数组的求法
博住看大话数据结构里的Next数组求法,看的云里雾里。看了大量帖子,然后根据网上帖子,以大话数据结构的思路,总结出Next数组的求法。如有错误请指正。先明确什么是部分匹配值?"部分匹配值"就是"前缀"和"后缀"的最长的共有元素的长度。以"ABCDABD"为例, - "A"的前缀和后缀都为空集,共有元素的长度为0; - "AB"的前缀为[A],后缀为[B],共有元素原创 2018-07-24 20:29:01 · 2109 阅读 · 0 评论 -
Java泛型的本质
一、泛型的本质泛型是参数化类型的应用,操作的数据类型不限定于特定类型,可以根据实际需要设置不同的数据类型,以实现代码复用。二、Java泛型Java 泛型是Java1.5新增的特性,JVM并不支持。实现原理:Java源代码里面类型提供实现泛型功能,而编译后Class文件类型就变成原生类型(即类型被擦除掉),而在引用处插入强制类型转换以实现JVM对泛型的支持。本质是Java泛型只是Java提供的一个语...转载 2018-07-13 10:16:53 · 1886 阅读 · 0 评论 -
Java堆内存设置
堆内存设置原理JVM堆内存分为2块:永久空间和堆空间。永久即持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = {Old + NEW = {Eden,from,to}},Old即年老代(Old Generation),New即年轻代(Young Generation)。年老代和年轻代的划分对垃圾收集影响比较大。...转载 2018-07-12 22:41:24 · 14010 阅读 · 1 评论 -
Java虚拟机详解02----JVM内存结构
主要内容如下:JVM启动流程JVM基本结构内存模型编译和解释运行的概念 一,JVM启动流程:JVM启动时,是由Java的命令/ javaw进程命令来启动的。二,JVM基本结构:JVM基本结构图:“深入理解的Java虚拟机(第二版)”中的描述是下面这个样子的: 的Java中的内存分配:Java的程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对数据进行了不同空间的划分,因为每一片区域都有特...转载 2018-07-11 23:02:08 · 244 阅读 · 0 评论 -
【剑指offer】Java版代码(完整版)
一,引言“剑指提供”可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题。但是书上的代码都是Ç版的,我在这里整理了一份的Java版的代码供大家学习参考,这些代码我都是在OJ上跑过全交流的,所以正确性你大可放心。二,目录赋值运算函数单例设计模式二维数组中查找目标值替换字符串中的空格从尾到头打印链表由前序和中序遍历重建二叉树用两个栈实现队列求旋转数组的最小数字斐波...转载 2018-07-05 11:18:21 · 2427 阅读 · 0 评论 -
Java数据顺序存储结构于单链表的效率分析
顺序存储结构的效率分析 通过上述的分析,我们对顺序表的实现已有了比较清晰的认识,接下来看一下顺序表的执行效率问题,主要针对获取、插入、修改、删除等主要操作。前面分析过,由于顺序表内部采用了数组作为存储容器,而数组又是随机存取结构的容器,也就是说在创建数组时操作系统给数组分配的是一块连续的内存空间,数组中每个存储单元的地址都是连续的,所以在知道数组基地址后可以通过一个简单的乘法和加法运算即可计...转载 2018-07-17 19:59:42 · 734 阅读 · 0 评论 -
深入理解java反射机制
一,java的核心机制java有两种核心机制:java虚拟机(JavaVirtual Machine)与垃圾收集机制(Garbage collection): Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境,在其上面运行Java代码编译后的字节码程序,java虚拟机实现了平台无关性。 Java垃圾回收(Garbage Collection):自动释放不...转载 2018-07-11 15:49:33 · 201 阅读 · 0 评论 -
动态代理案例代码注解
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;//动态代理的使用,体会反射是动态语言的关键interface Subject { void action(); int action1();}// 被代理类class RealSubje...原创 2018-07-04 20:33:38 · 315 阅读 · 0 评论 -
Java5、6、7、8、9的新特性
Java5中Java5中是很重要的一个版本,有泛型,枚举,自动装箱/拆箱,可变参数,注解,的foreach循环,静态导入,新的线程模型等等更新。具体参考 Java5的的新特性的Java6鸡肋的版本,有JDBC4.0更新,Complier API,WebSevice支持的加强等更新。Java6 的新特性Java7java7有一些比较重要的更新,如异常处理增加了被抑制的异常,捕获多异常,尝试与-资...转载 2018-06-28 19:40:49 · 679 阅读 · 0 评论 -
java Comparable 和Comparator详解及 区别(附代码)(转)
java中,对集合对象或者数组对象排序,有两种实现方式。即:(1)对象实现Comparable 接口 (2)定义比较器,实现Comparator接口。下面会简要介绍这两种方法的区别,并附上实现代码,供大家参考。 Comparable介绍Comparable是在集合内部定义的方法实现的排序,位于java.lang下。Comparable 接口仅仅只包括一个函...转载 2018-07-16 20:49:07 · 331 阅读 · 0 评论 -
java接口可以实例化吗?
Java的接口可以实例化吗?2016年03月29日12:51:30阅读数:7523Java的接口可以实例化吗?接口不可以实例化。但是接口对象可以指向它的实现类对象。接口可以看做特殊的抽象类,只是所有的方法都是抽象方法(没有实现的方法),接口的方法都是默认public abstract的,所以不能被实例化。比如:List Set Map都是接口使用时先实现List <String> li...转载 2018-06-20 17:35:25 · 17042 阅读 · 3 评论 -
System.out.println()输出到文件里
System.out.println(); 程序运行他会输出在哪里: 控制台吧。 那如果我不想把他输出到控制台,想把他输出到一个文件里面去怎么做呢? 看下面代码你就明白了。 public static void main(String[] args) throws Exception { String str = "abcd"; PrintStream out = new P...转载 2018-05-15 20:28:53 · 4179 阅读 · 0 评论 -
java从文本文件中一次读入一行数据进行处理
转:http://blog.chinaunix.net/uid-20804770-id-3048513.htmlimport java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileNotFoundException;import java...转载 2018-05-08 15:50:07 · 9631 阅读 · 0 评论 -
nginx反向代理和负载均衡策略实战案例
先来看下nginx在web服务器排名上的趋势:存在即合理,那为什么要使用nginx呢?这得看看nginx能帮我们做些什么。首先,nginx能做反向代理【关于反向代理和正向代理此处不做说明了,感兴趣的小伙伴自行谷歌】;比方说,我想在本地使用 www.glmapper1.com 的域名去访问www.taobao.com。那么这个时候我们就可以通过nginx去实现。再者,nginx能实现负载均衡,什么是...转载 2018-04-27 19:55:19 · 239 阅读 · 0 评论 -
jsp里的参数如何与javabean里的参数对应
请求有dispatcherservlet 统一调度,先根据请求的路径,调用handlermapping,根据路径找到匹配的方法,然后再调用handler,进行参数绑定处理,然后把数据和模型设置到modelandview中,然后再调用viewresolver去根据你的视图名字找匹配的视图,如jsp,最后把数据填充进视图对象,然后servlet容器渲染成html就返回给浏览器了原创 2017-07-24 20:32:51 · 610 阅读 · 0 评论 -
spring mvc常用注解@Component @Controller @Service @Repository
注解用了之后,会在*.xml文件中大大减少配置量。以前我们每个Bean都得到配置文件中配置关联下。spring2.5后,引入了完整的annotation配置注解,使得我们的程序配置更简单更容易维护。 @Component;@Controller;@Service;@Repository 在annotaion配置注解中用@Component来表示一个通用注释用于说明一个类转载 2017-07-24 19:59:38 · 385 阅读 · 0 评论 -
Controller响应界面跳转的几种方式
前面已经了解了Controller的几种配置方式 今天主要写一下响应界面跳转的几种方式1.在注解的方式中1.1通过HttpServletResponse的API直接输出(不需要配置渲染器)controller类的主要代码@Controllerpublic class RequestController{ @RequestMapping("/resp") p转载 2017-07-24 19:58:10 · 14088 阅读 · 0 评论 -
从一个jsp页面跳转到另一个jsp页面时的参数传递
1.从一个jsp页面跳转到另一个jsp页面时的参数传递 (1)使用request对象获取客户端提交的信息 login.jsp页面代码如下:[java] view plain copy"java" import="java.util.*" pageEncoding="GB2312"%> "-//W3C/转载 2017-07-24 19:51:31 · 69142 阅读 · 1 评论 -
理解String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+pa
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";今天才知道 request.getScheme()这是获取协议:如常用的http协议request.getServerName()服务器的名字request.getS原创 2017-07-24 13:28:42 · 1964 阅读 · 0 评论