
Java语言基础
文章平均质量分 69
SuperMan-zhang
什么都不重要,重要是你的思想
展开
-
java 不可变类
java不可变类不可变类的意思是创建该类的实例后,该类的属性是不可改变的。java中的8中包装类型和java.lang.String都是不可变类。如果需要创建自定义的不可变类,需要遵守如下规则:1,类属性使用private和final修饰符来修饰。2,提供带参的构造方法,用于初始化类中的属性。3,为该类属性只提供get方法,不提供set方法,因为final修饰的属性是不许允被修改的。4,如果原创 2015-05-24 17:55:03 · 620 阅读 · 0 评论 -
Spring学习笔记-Spring容器中的Bean
1.Spring容器中的Bean从本质上来看Spring容器就是一个超级大工厂,Bean就是工厂的产品,能产生哪些产品是根据我们配置文件的配置来的。对于我们开发者来说,使用Spring容器主要做两件事:1,定义自己的Bean,2配置Bean。对于Spring框架来说,它的作用就是根据配置文件创建Bean,并调用Bean的实例方法完成依赖注入——这就是所谓Ioc容器的本质。 其实Spring框架的本原创 2015-09-10 20:29:05 · 2612 阅读 · 0 评论 -
Spring实战-读书笔记(章节一、二)-Spring框架的目的以及装配Bean
Spring框架的目的spring框架的目的和意义:让java开发变得简单。spring提供四种核心策略实现这个目的:1、不侵入POJO2、使用依赖注入(DI)来实现对象之间保持松散耦合3、使用面向切面(AOP)来确保POJO的简单性(不侵入POJO)4、使用模板代码来消除样板代码(类如JdbcTemplet类,将JDBC API封装简化数据库的放问,将业务代码和JDBC代原创 2017-11-12 10:51:06 · 424 阅读 · 0 评论 -
JSP中文乱码问题已经解决方法
中文乱码产生的情况JSP页面中文乱码我们新建一个JSP文件可以在四个地方法设置相关的编码。在eclipse中点击jsp文件,右键->properties->Resource设置jsp文件的字符集编码。这个很好理解,就是设置jsp文件在eclipse中显示的字符集编码。jsp文件中jsp page标签pageEncoding属性。jsp文件会最终会转换成Servlet文件(也就是原创 2017-12-05 13:56:25 · 715 阅读 · 0 评论 -
Java JDBC 学习
说明本篇文章重要是介绍了使用JDBC API对数据库进行增删改查、执行存储过程中使用到的类和常用方法,不常用的并没有介绍。还介绍了第三方数据库连接池DBCP和C3P0的代码实现。Java JDBC对数据库进行操作可分为四个步骤:加载并注册驱动获取Connection操作数据库关闭连接释放JDBC和数据库资源这里主要接受步骤2、3涉及到类和相关方法。在正式开始接受之前我们需要了解原创 2017-03-22 19:35:32 · 544 阅读 · 0 评论 -
静态代理模式和JDk提供的动态代理类java.lang.reflect.Proxy
代理模式代理模式是设计模式中的一种,可以在不修改方法本身,在方法调用前后添加一些额外的功能。比如:在操作数据库表方法的前后添加事务功能、在请求action方法前后添加编码设置、在调用方法之前添加日志输出功能。代理模式中分为三个角色:使用者、代理对象和目标对象。代理模式分为两类:静态代理和动态代理。代理模式的特点:1,使用者通过代理类的实例来调用目标对象上的方法。2,代理类和目标对象都实现相同的原创 2017-08-10 19:28:35 · 579 阅读 · 0 评论 -
java反射机制学习笔记
java反射机制学习笔记计划想系统的学习一下java反射机制、注解知识,然后自己实现一个ORM框架来加深和巩固对这部分知识的理解。本片文章对java反射机制常用的API进行了总结,并提供了一个代码事例来来理解java反射API。java反射机制总结如果看不清图片,请鼠标右键选则在新标签也打开。java反射代码事例Sports.javapackag原创 2017-03-02 16:47:56 · 424 阅读 · 0 评论 -
tomcat下通过JNDI配置数据库连接池
tomcat下通过JNDI配置数据库连接池按照访问范围分类共有两种,分别是全局数据库连接池和局部数据库连接池。前者是在一个tocmat部署下的应用都能使用该数据库连接池,后者是只有特定的应用才能使用的数据库连接池。tomcat默认的JDBC连接池实现是 apache下的DBCP连接池,我们也可以使用C3P0作为tomcat的数据库连接池,但是需要进行额外的配置,本篇博客只介绍DBCP连接池的两种配原创 2017-03-18 15:05:54 · 1543 阅读 · 0 评论 -
java 多态学习笔记
多态java引用变量有两种类型:一种编译时的类型,一种是运行时的类型。编译时的类型由声明该变量时的类型决定,运行时的类型由实际赋该改变量的对象决定。如果编译时类型和运行时类型不一致就说出现所谓的多态。例如下面代码:public class ExtendsTest { public static void main(String [] args){ BaseClass c =原创 2015-05-16 17:29:28 · 537 阅读 · 0 评论 -
Maven学习笔记(一)-使用Maven创建项目以及常用Maven命令
使用Maven创建项目以及常用Maven命令现在技术书籍上的代码事例和公司的项目大多数都会选择Maven做项目管理和构建工具。所以对Maven都有一个较全面的理解多我们会有很大的收益。下面我们使用Maven来创建一个java项目。按照Maven就不再接受网上有很多文章。使用Maven创建项目我们的需求是创建一个java项目(非web项目)。首先打开cmd,切换到你要放项目的目录。我的这原创 2017-11-18 19:17:38 · 3884 阅读 · 0 评论 -
Maven学习笔记(二)-Maven中核心概念介绍
Maven中概念介绍Maven学习笔记(二)中我们对Maven有了初体验,现在来介绍一下Maven中的概念,理解这些概念就能更好的理解和使用Maven。本片文章转载来自:http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-2-405568-zhs.htmlMaven中涉及到的核转载 2017-11-19 19:33:55 · 379 阅读 · 0 评论 -
javac、java和jar命令
javac和java命令背景我是一个java程序员,平时运行程序都是由IDE或Maven来完成,应用上线部署都是由其他人来写Shell或bat启动停止脚本,有一天让我把一个后台应用打包jar在Linxu或Window部署运行我竟然蒙B了,好半天才想起来javac和java。javac命令javac命令的作用是将java文件编译为class文件。用法:javac <options&g...原创 2019-08-16 17:14:47 · 7528 阅读 · 0 评论 -
logback配置总结
logback常用配置<?xml version="1.0" encoding="UTF-8"?><!--debug:打印logback内部状态信息--><!--scan:是否开启自动扫描logback文件文件--><!--sacnPeriod:扫描周期,如果没有指定时间单位默认为毫秒。30 seconds表示30秒--><!--pa...原创 2019-07-26 14:30:32 · 355 阅读 · 0 评论 -
记一次将spring-boot应用发布到weblogic的步骤以及遇到的问题
说明环境linux:Red Hat 4.8.3-9weblogic:weblogic 12.1.3JDK:JDK1.8程序环境构建构建:Apache Maven 3.6.1框架:ijcf 3.2.0(啊,使我们公司的一个内部框架,你可以理解为Spring、Spring-boot、Spring-web、Spring-MVC等对Spring开源框架的二次封装)应用程序本身是一个后台ja...原创 2019-06-28 17:13:35 · 9179 阅读 · 5 评论 -
http协议学习笔记(一)
说明超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted N...原创 2018-02-12 17:12:13 · 483 阅读 · 0 评论 -
http https session丢失
现象描述项目中仅在登录时使用https连接进行登录请求,登录成功会使用http访问服务器的其它资源。也就说从https连接切换到http。输入正确的用户和密码后总是跳转到登录页面,并没有跳转到主页面。debug了一下程序,发现在跳转到主页时,程序认为 request.getSession("userInfo") 获取的用户信息为 null,用户没有登录。而不适用https连接请求登录,输入正确原创 2016-03-27 19:35:32 · 5091 阅读 · 1 评论 -
Java常用日志框架基础介绍
Apache Commons LoggingApache Commons Logging又叫做JakartaCommons Logging (JCL),它本身提供了简单的日志操作,但是它的主要作用是提供了一个日志操作门面接口,即让开发者不依赖具体的日志操作框架,可以根据需要在切换日志框架。JCL不是具体的日志操作框架,而是一个日志门面框架。JCL对一些常用的日志操作框架进行了简单的封装,包括L原创 2017-08-17 19:11:58 · 405 阅读 · 0 评论 -
正则表达式学习笔记
正则表达式概念正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进原创 2017-08-22 19:29:24 · 332 阅读 · 0 评论 -
java web.xml配置文件中url-pattern路径匹配方式
java web.xml配置文件中url-pattern路径匹配方式url-pattern元素用于匹配对应的Servlet或Filter。使用事例如下: dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextClass org.springf原创 2017-12-13 22:02:20 · 7190 阅读 · 0 评论 -
java Collection框架 HashMap 和 TreeMap
HashMap 和 TreeMap最近可能要出去面试,所以复习了一下java 集合类HashMap和TreeMap。HashMap和TreeMap都是Set接口的两个常规的集合实现类。HashMap继承了AbstractMap抽象类。TreeMap实现了StoredMap接口,而且还继承了AbstractMap抽象类。HasMap中的key是无序排列的,更适合用于向map中添加转载 2015-01-21 18:01:38 · 680 阅读 · 0 评论 -
java 实现双链表
最近可能要出去面试,简单的复习了一下数据结构双链表。原文请参加http://www.it165.net/pro/html/201403/10922.html。package fly.zxy.CollectionJava;/** * java语言实现双向链表(双向循环链表) * @author VM_ZXY_WIN * * @param */public class原创 2015-01-20 09:42:49 · 567 阅读 · 0 评论 -
java 重写equals()
java 重写equals()我们往往需要重写父类的equals()方法来实现自定义的相等比较。比如有个Person类,如果两个Person的身份证号和名字相等,那么这两个对象就相等。代码如下:public class Person { private String idStr; private String name; public Person(String idStr,原创 2015-05-24 14:59:07 · 599 阅读 · 0 评论 -
java 弱引用集合类WeakHashMap
java 弱引用集合类WeakHashMapJava集合框架中的WeakHashMap类是Map接口的一种特殊实现。它实现了Map接口,继承了AbstractMap抽象类。它实现了对key的弱引用。如果除了WeakHasMap对象本身对key的引用除外,在没有其它引用指向key,此WeakHashMap对象将丢弃此key-value对。我们来看一个例子:原创 2015-01-22 13:53:17 · 1280 阅读 · 0 评论 -
java String、常量池、StringBuffer总结
String和常量池常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量(字符串常量池)。事例1如下: public static void s1(){ String s0 = "abc"; //常量池中不存在"abc",在常量池中创建"abc"并返回引用 Strin原创 2015-02-05 18:05:39 · 859 阅读 · 0 评论 -
java基本类型和包装类
java中一切皆是对象,但是准确的说java中的8种基本数据类型不属于对象(因为它们没有属性和方法)。java在提供了基本类型的包装类。如图: 拆箱和装箱从JDK1.5之后提供了自动拆箱和自动装箱的功能。 自动拆箱就是将一个包装类赋给它对应的基本类型变量。 自动装箱就是将一个基本类型变量赋给它对应的包装类。 代码如下: //JDK 1.5之前 基本类型和对应包装类之间的转换方式原创 2015-05-03 18:50:20 · 1192 阅读 · 1 评论 -
java this 关键字
java提供了一个this关键字,this关键字是一个对象默认的引用。根据this出现的位置不同,this作为默认对象的引用有两种形式: 1,出现在构造方法中,this表示的是该构造方法执行时初始化的对象。 2,出现在方法中,this表示的是调用该方法的对象。谁调用了该方法,this就代表谁。 this最大的作用就是让类中的一个方法,调用该类中的另一个方法或属性。如下:public class原创 2015-05-03 21:04:13 · 577 阅读 · 0 评论 -
java instanceof关键字
instanceof关键字在java中是一个二元操作符。和==、>、<是一个东东。由于它是由字母组成的,所以也是java的保留字。它的作用是判断操作符左边的对象是否是右边类型的一个实例。代码如下:package fly.zxy.CollectionJava;public class InstanceofTest1 { public static void main(String[] args)原创 2015-05-04 21:10:48 · 505 阅读 · 0 评论 -
java 继承中的重写父类方法
重写父类方法子类扩展(extends)了父类,子类是一种特殊的父类。子类可以获得父类所有的属性和方法,达到代码复用的目的。子类总以父类为基础增加新的属性和方法。但是有时候我们还需要重写(覆盖)父类的方法。子类覆盖父类的方法遵循的是“两同两小一大”原则。两同指的是方法名和形参列表相同。两小指的是子类方法的返回值类型要小于或等于父类被覆盖方法的返回值,子类方法声明抛出的异常应比父类方法抛出的异常要小或相原创 2015-05-10 16:49:52 · 24316 阅读 · 0 评论 -
内部类
内部类在类内部定义的类我们称这个类为内部类。包含内部类的类叫做外部类。java从JDK1.1开始引入内部类。内部类的作用如下: 1,内部类提供了更好的封装,可以把内部类隐藏在外部类之内。 2,内部类可以访问外部类的私有数据,内部类其实就相当于外部类的成员(内部类成员),同一个类中成员和成员可以互相访问。 3,匿名内部类适合用于只需要创建一次或只需要使用一次的类。内部类的细分定义内部类非常简单,原创 2015-06-05 21:26:48 · 351 阅读 · 0 评论 -
java 泛型学习笔记(一)
泛型JDK在1.5增加泛型。在没有泛型之前我们把对象“丢进”集合中,集合就会忘记对象的类型,把所有对象都当作object处理。当集合从程序中取出的时候还需要强制类型转换。这样有两个坏处:1,强制类型转换的代码使程序显得臃肿。2,容易引起ClassCastException异常。1.5增加了泛型之后集合可以记住对象的类型,如果添加的对象不满足要求就会在编译时提示错误(在编译时做了类型检查)。而且在取原创 2015-06-11 20:58:31 · 639 阅读 · 0 评论 -
Java组成部分、JDK和SDK的区别、JDK的安装
一,java组成部分 java分为三个组成部分JavaSE、JavaEE、JavaME: 1,JavaSE(Java SE Development Kit):中文是Java标准开发工具,是JavaEE和JavaME的核心和基础。对应的开发包就是我们常用的JDK。2,JavaEE:Java技术中应用最广泛的技术,JavaEE提供了企业的开发解决方案。对应的开发包就是Java原创 2015-04-28 21:53:59 · 6234 阅读 · 2 评论 -
java 异常处理机制
java异常处理机制java的异常处理机制可以让程序具有极好的容错性吗,让程序更加健壮。实现将业务功能处理代码和异常处理代码分离,提供更好的可读性。java把所有的非正常情况分为两种,一种是Error,一种是Excepiton。前者指的是虚拟机错误相关的问题,如系统崩溃、虚拟机错误(内存溢出)、动态链接失败等,这种错误是不可恢复的不可捕获的,会导致程序直接退出。后者指的是异常,就是我们通常所说原创 2015-11-04 20:53:33 · 724 阅读 · 0 评论 -
java中的单例设计模
单例设计模式的作用单例(Singleton)是一种常见的设计模式。Java中单例模式能保证在JVM中一个类只有一个实例对象(单例对象)。正是由于这个特点,单例对象通常作为程序中放置配置信息的载体,因为它能够保证多个模块读取配置信息是一致的,向外提供的配置信息获取的服务。例如:在某个系统中,该系统的运行参数存储在数据库中或工程的资源文件中,这些参数由单例对象统一读取。系统中的其它对象需要运行参数原创 2016-02-27 14:32:01 · 915 阅读 · 0 评论 -
服务启动tomcat时 执行Runtime.getRuntime().exec() 卡死
问题描述项目里要实现一个功能:用java代码 Runtime.getRuntime().exec("C:\smryglclient\smryglhostmsg.exe gensn") 去执行cmd命令,并接受返回结果。一开始在我本机STS里运行时没有问题的,其它同事的机器也是正常运行。把整个web项目做成一个exe可执行程序。在测试机器上安装后执行到这段代码是卡住没有反应。具体是卡到读取执行c原创 2016-04-08 14:31:01 · 6091 阅读 · 3 评论 -
java中replace()和replaceAll()总结
replace()和replaceAll()比较示例我么有这么一个需求:将字符串中的"\"替换成"\\"。实现如下: public static void main(String [] args){ String sourceStr = "A\\B\\C\\D"; System.out.println("sourceStr:"+sourceStr)原创 2016-04-08 16:01:58 · 4205 阅读 · 0 评论 -
java中的接口和抽象类
最近看了一篇介绍接口和抽象类的文章,发现还不错。一下是对文章的总结和自己写的一个实例。总结的可能有些粗糙,建议直接看原文,文章地址:http://www.jiagoushuo.com/article/1000074.html#rd?sukey=ecafc0a7cc4a741b8d173e3714b0d37aed2569a28a62b5eb357b1573f19c80eef74baa1c870e39原创 2016-04-10 15:45:55 · 1518 阅读 · 0 评论 -
java 继承与组合学习笔记
继承继承实现了高度复用的同时,也带来了一个严重的问题,破坏了父类的封装性。封装就是每个类应该把内容部信息(属性)和实现细节(方法)隐藏,值暴露必要的方法给其他类使用。但在继承中,子类可以更改父类的属性和方法,从而造成了子类和父类的高度耦合。为了包装父类的良好的封装性,不会被子类随意更改。设计父类时应该遵循一下几个原则: 1,尽量把父类内部的数据隐藏,把属性设置成private,不让子类之间访问父类原创 2015-05-17 15:22:38 · 493 阅读 · 0 评论 -
java中的注解Annotation
http://www.cnblogs.com/peida/archive/2013/04/24/3036689.htmlhttp://www.cnblogs.com/peida/archive/2013/04/23/3036035.htmlhttp://www.cnblogs.com/peida/archive/2013/04/26/3038503.html这三篇文字已经将转载 2017-03-04 15:46:48 · 283 阅读 · 0 评论 -
java 初始化块笔记
初始化块初始化块是java类里可出现的地四种(属性、方法、构造器)成员。一个类里可以有多个初始化块,多个初始化块之间有顺序:在前面的初始化块先执行,后边的初始化块后执行。初始化块只能用static修饰,成为静态初始化块。初始化块中可以保护任何的执行性语句,包括定义变量,条件分支语句、循环语句等。初始化块没有名字,不能被调用,它在对象创建时隐式执行。初始化快先于构造器先执行。初始化块和类中的属性声明赋原创 2015-05-17 16:40:07 · 592 阅读 · 0 评论 -
Web Cookie
Web Cookie什么是CookieCookie是服务器在浏览器保存的一小段文本信息,每个 Cookie 的大小一般不能超过4KB。服务器根据需要通过HTTP Response Headers的Set-Cookie来设置浏览器的Cookie,之后浏览器在向服务器发送请求,就会在HTTP Request Headers的Cookie中带此域名下的Cookie值。我们最常见的Cookie的作用是...原创 2019-09-11 17:59:25 · 388 阅读 · 0 评论