java后台开发
精神病有所好转O_O
这世界上只有10种人,一种懂二进制,另一种不懂
展开
-
接口抽象类简要总结
抽象类和接口区别(1.8版本后) 接口 抽象类 实现方式 多重实现 只能单继承 构造方法 无 可以有构造方法 方法 原来只能有抽象方法,1.8后可以有静态方法和 defau...原创 2018-10-03 15:47:01 · 195 阅读 · 0 评论 -
java的多态理解
多态有编译时多态 和运行时多态。第一个是通过方法重载实现;第二个是通过方法覆盖实现(子类覆盖父类方法)。第一种就是我们调用方法是不用区分参数类型,程序会自动执行相应方法,如: 加法运算,可以使int相加,可以是double相加,都是同一个方法名。第二种就是动态绑定,使用父类引用指向子类对象,再调用某一父类中的方法时,不同子类会表现出不同结果。 这样的作用就是扩展性极好,玩过网游的话应该知道 游戏中...转载 2017-06-02 08:54:56 · 246 阅读 · 0 评论 -
注解(Annotation)那点事
1、注解(Annotation)是什么?答:注解,也可以叫做元数据,你知道的中文博大精深。2、常见的标准注解a、@Override:表示当前的实例方法是重写基类中的实例方法,如果这个方法不对,编译器就会报错b、@Deprecated:添加了该注解后,编译器会发出警告信息(我还没用过这个注解,非常惭愧)c、@SuppressWarnings:关闭不当的编译器警告信息。3、新建注解的语法语法:@int...转载 2017-06-20 13:02:49 · 266 阅读 · 1 评论 -
建立一个对象模型的时候,为什么要重写hashCode与equals方法
为了阐明其作用,我们先来假设有如下一个Person类。[java] view plain copyclass Person { public Person(String name, int age) { this.name = name; this.age = age; } private String name; pri...转载 2017-06-20 13:10:10 · 287 阅读 · 0 评论 -
Java中String与byte[]的转换
String s = "fs123fdsa";//String变量 byte b[] = s.getBytes();//String转换为byte[] String t = new String(b);//bytep[]转换为String做JAVA经常会碰到中文乱码问题,还有各种编码的问题,特别是String类的内容需要重新编码的问题。要解决这些问题,必须了解清楚JAVA对于字符串是怎么处理的。1...转载 2017-06-21 21:27:13 · 173 阅读 · 0 评论 -
JavaWeb的四大域对象总结
四个域的作用域范围大小:PageContext (page域) < request < session < servletContext(application域)一、ServletContext1、生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。2、作用范围...转载 2017-07-10 17:21:39 · 217 阅读 · 0 评论 -
java读取xml和xml写入数据
package cn.itcast.usermng.dao; import java.io.PrintWriter; import java.io.Writer; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.S...转载 2017-07-12 17:06:05 · 304 阅读 · 0 评论 -
java 中类的加载顺序
public class Parent{ public static int t = parentStaticMethod2(); { System.out.println("父类非静态初始化块"); } static { System.out.println("父类静态初始化块"); } public Parent() ...转载 2017-07-12 17:08:42 · 178 阅读 · 0 评论 -
路径问题--转发、重定向、表单、超链接
1,根目录概念: 服务器的站点根目录:以tomcat服务器为例,tomcat服务器站点根目录就是apache-tomcat-7.0.63\webapps,服务器下的webapps就是服务器的站点根目录 web应用的根目录:创建的web工程需要部署到tomcat服务器上才能进行查看,每个web工程都是一个web应用,tomcat安装目录下的webapps下存放着服务器上的...转载 2017-07-22 15:25:08 · 357 阅读 · 0 评论 -
java两种获取资源方式对比
Java中gegetResource和gegetClassLoader().getResource()的区别 xxx.class.getResource()用来从当前类(xxx)所在的目录下(也就是以当前类所在路径为根路径)获得资源;xxx.class.getClassLoader().getResource()用来从classpath路径下(也就是以classpath所在路径为根路径)获得资源。...转载 2017-05-03 20:18:30 · 298 阅读 · 0 评论 -
static块和main方法以及main方法为什么用static来定义
static代码块在类第一次被调用时执行,且仅执行一次,即static代码块实在类初始化时就被虚拟机执行。main方法是静态方法,是在类加载完之后由虚拟机调用的,调用之后才会输出。一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码主动执行。(1)在类中,变量的前面有修饰符static称为静态变量(类变量),方法的前面有修饰符static称为静态方法(类方法)。静...原创 2017-05-03 18:16:33 · 500 阅读 · 0 评论 -
java静态方法和实例方法
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。 下面几个例子展示了这一区别。 1、调用静态方法示例。 //-...转载 2017-05-03 18:05:19 · 215 阅读 · 0 评论 -
看jvm的一点心得
关于成员变量与局部变量初始化:java虚拟机栈描述的是java方法执行的内存模型,每个方法在执行的时候都会创建一个栈帧用于创建局部变量表,操作数栈,动态链接方法出口等。局部变量表的内存空间在编译器就完成分配,在方法运行期间不会改变局部变量表的大小。这句话就说明了局部变量在创建时就必须进行初始化以确定分配内存大小;所有的java对象都在堆上分配。在hotpot虚拟机中,内存分配后,虚拟机需要...原创 2018-08-27 11:02:22 · 294 阅读 · 0 评论 -
解决方案思路
设计一个通用数据结构,可以适应现有的所有工具的数据源。预先自定义报告模板文档,然后根据数据结构文件中的设定,从现有工具的数据源中取得数据,然后在程序文件中调用模板文档写入数据,进而导出目标报告。生成报告的内容格式,样式,版式等可以在模板文档中预先定制,而程序代码则完成数据的取得,填充和报告的生成。这样保证了模板文档和程序代码各自的独立性。使得程序的逻辑结构简洁,灵活敏捷,具有很强的可...原创 2018-04-25 16:49:35 · 382 阅读 · 0 评论 -
Eclipse新建Spring-boot项目,打包部署并输出HelloWord
Spring-boot因为其对jar包的高度集成以及简化服务配置,快速部署等的优点,逐渐成为Java开发人员的热衷的框架。下面演示一下怎么在Eclipse中新建Spring-boot项目以及打包部署。在Eclipse中创建Spring-boot有两种方式方式一进入Spring-boot的在线配置网站http://start.spring.io/;定制自己的项目服务组件,下载到本地并使用Eclips...转载 2018-04-07 13:13:34 · 707 阅读 · 0 评论 -
基于Maven的SpringBoot项目实现热部署的两种方式
前言JRebel是JavaEE中比较流行的热部署插件,可快速实现热部署,节省了大量重启时间,提高了个人开发效率。看一张图就知道了:我这里提到JRebel的目的主要是说明热部署工具带来的优势:节省时间,提高开发效率 下面我将介绍使用maven构建的SpringBoot项目中实现热部署的两种方式,使得部署变得异常简单,同时两种方式也非常的简单。热部署devtoolsPom.xml中直接添加依赖即可: ...转载 2018-04-07 10:39:01 · 144 阅读 · 0 评论 -
踩到的坑context:component-scan
<context:component-scan/>在springMVC.xml和applicatonContext.xml中都有,这里面配置是有技巧的,不然就容易掉进坑里。几种不同配置的测试:(1)只在applicationContext.xml中配置如下<context:component-scan base-package="com" />启动正常,但是任何请求都不会被...原创 2018-04-13 09:21:38 · 1285 阅读 · 1 评论 -
标签中的varStatus
在jstl中,<c:forEach>是经常使用的标签。属性描述是否必要默认值items要被循环的信息否无begin开始的元素(0=第一个元素,1=第二个元素)否0end最后一个元素(0=第一个元素,1=第二个元素)否Last elementstep每一次迭代的步长否1var代表当前条目的变量名称否无varStatus代表循环状态的变量名称否无其中注意,var指向当前值varStatus...原创 2018-04-10 16:43:14 · 1152 阅读 · 0 评论 -
@Controller和@RestController的区别?
@Controller和@RestController的区别?官方文档:@RestController is a stereotype annotation that combines @ResponseBody and @Controller.意思是:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。1)如果只是使用@RestContr...转载 2018-04-15 19:01:58 · 229 阅读 · 0 评论 -
association与collection
关联-association 集合-collectionassociation是用于一对一和多对一,而collection是用于一对多的关系多对一: <resultMap type="Product" id="productBean"> <id column="pid" property="id" /> <re原创 2018-04-14 12:31:36 · 992 阅读 · 0 评论 -
javaweb各种路径的总结
以/开始表示相对于当前应用下的绝对路径。加不加应用名?给浏览器用的 要加 :给 tomcat内部用的 不加。 1.1 表单:1.1.1 表单地址的写法Form action: 1. 全地址:写法1:http://localhost/Day11ServletRequest/servlet/RegisterServlet action=http://192.168.3.199/Day11Servle...原创 2017-07-25 21:30:26 · 2024 阅读 · 0 评论 -
Beanutils基本用法
Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。我算是后知后觉了,第一回看到它的时候居然错过。1.属性的动态getter,setter在这框架满天飞的年代,不能事事都保证执行getter,setter函数了,有时候属性是要需要根据名字动态取得的,就像这样: BeanUtils.getProperty(myBean,...转载 2017-08-05 21:56:41 · 1050 阅读 · 0 评论 -
url-pattern写成/和/*的区别
<url-pattern>/</url-pattern>: 会匹配到/springmvc这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url。<url-pattern>/*</url-pattern>: 会匹配所有的url:路径型的和后缀型的url(包括/springmvc,.jsp,.js和*.html等)。 下面是关于这个问题在sta...转载 2018-03-06 19:18:35 · 218 阅读 · 0 评论 -
线程池专题
什么是线程池,如何使用,为什么要用,以下做个总结1、什么是线程池: java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建...转载 2018-03-07 11:34:25 · 117 阅读 · 0 评论 -
tomcat部署多项目server.xmll配置
首先,我们以windows为例,其他系统类似。 第一种情况:多项目使用同一域名,我们以两个项目为例。 为了配置方便, 我们先把这两个项目的war包放到tomcat的webapps目录下。 我们现在看一下配置: [html] view plain copy<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the ...转载 2018-03-12 10:01:11 · 261 阅读 · 0 评论 -
request.setAttribute()的用法
request在当次的请求的url之间有效一次传参数,速度快,缺点是参数只能取一次forward是转向,将现在的请求转交,他只能在同一个容器里使用同时保存客户的请求状态。sendRedirect是重定向,可以在同一个容器里使用,也可以发送其他容器请求,但是会丢失请求信息。它等于重发一个请求。request.setAttribute是在请求域里面加了一个请求的参数,所以在sendRedirect以后...转载 2018-03-12 11:37:52 · 58244 阅读 · 2 评论 -
springmvc /和/*的区别
<url-pattern>/</url-pattern> 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url<url-pattern>/*</url-pattern> 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等) 另外,新增:对于/*和/**/**的意思是所有文...原创 2018-03-27 20:47:23 · 680 阅读 · 0 评论 -
springmvc过滤器和拦截器的区别
过滤器和拦截器的区别: (1)拦截器是基于Java的反射机制的,而过滤器是基于函数回调。 (2)拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 (3)拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 (4)拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 (5)在action的生命周期中,拦截器可以多次被调用,而过滤器只能在...转载 2018-03-29 10:49:20 · 230 阅读 · 0 评论 -
Eclipse增强自动补全,取消“=”等号和空格自动输入
注:原文地址:http://tieba.baidu.com/p/2466687622大家使用eclipse或者MyEclipse敲代码的时候,是不是都被这样一个问题困扰着。在开启增强的自动补全功能后,你键入一个变量名的时候,会自动提示补全,就是在你的变量名后面加上类型的名字!!!就像下图这样子 。。这个时候,你就必须键入Esc才不会自动补全你的变量,如果你键入的是空格或者“=”,那么变量名就会被自...转载 2018-03-29 15:29:31 · 790 阅读 · 0 评论 -
解决springmvc中css,js等静态文件访问问题的两种思路
写项目时发现静态资源会被拦截,无法正确显示,对于这个问题,翻了翻书,有两种解决的思路:1<mvc:resource location="static/" mapping="static/**">2.<mvc:default-servlet-handler/><mvc:resource/>允许静态资源放在任何地方,如WEB-INF目录下、而传统的静态资源自能放在w...原创 2018-04-08 16:45:21 · 276 阅读 · 0 评论 -
jdk1.6 1.7 1.8 运行时常量池位置的变化
运行如下代码来探究常量池的位置public static void main(String[] args) throws Throwable { List<String> list = new ArrayList<String>(); int i=0; while(true){ l...转载 2018-02-02 12:38:19 · 2440 阅读 · 7 评论 -
JAVA变量及内存分配
JAVA变量的要素包括便变量名、类型、作用域。本质上讲,变量实际上是内存中的一块区域,使用变量名来访问这块区域。每个变量使用前必须要先声明,然后赋值才可以使用。根据变量的声明位置,可以分成①局部变量:声明在方法体内(包含方法的参数)或语句块内部的变量。②成员变量:声明在方法体外,类内部的变量。成员变量可以使用任何一种数据类型,包括引用类型和基本类型(见下面),在定义成员变量时可以对他进行初始化,如...转载 2018-02-02 11:08:11 · 222 阅读 · 2 评论 -
分页
最近做一个项目,要用到分页功能,参考了很多方法,有的不合适,有的不喜欢,于是自己在他们的基础上整了一个;思路是这样的:先把需要分页的数据或是记录都查询出来 存入一个集合类里如List或是Vector,然后利用其sublist(int findex,int eindex)方法,获取需要分页的数据或记录,关于sublist()函数就自己去查API了。下面贴下代码吧,首先是将分页所需的一些个东东抽象出一...转载 2018-01-26 21:21:58 · 258 阅读 · 1 评论 -
Struts2工作原理和执行流程图
1、Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面根据 struts2.0体系架构图来解析这些组件之间的联系。(1)...转载 2017-08-15 10:43:05 · 251 阅读 · 0 评论 -
高可用与高并发
概念解析:高可用HA(High Availability)是分布式系统架构中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,那么该系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,那么该系统的可用性是99%。高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计...转载 2017-09-11 20:35:47 · 751 阅读 · 0 评论 -
网站缓存技术总结( ehcache、memcache、redis对比)
网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验。网站缓存按照存放的地点不同,可以分为客户端缓存、服务端缓存。客户端缓存客户端缓存又可分为:浏览器缓存、网关或代理服务器缓存网关或代理服务器缓存是将网页缓存中网关服务器上,多用户访问同一个页面时,将直接从网关服务器把页面传送给用户。浏览器缓存是最靠近用...转载 2017-09-13 16:40:24 · 571 阅读 · 0 评论 -
spring:控制反转
一、 ioc的思想ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。也就是说,甲方要达成某种目的不需要直接依赖乙方,它只需要达到的目的告诉第三方机构就可以了,比如甲方需要一双袜子,而乙方它卖一双袜子,它要把袜子卖出去,并不需要自己去直接找到...转载 2017-11-04 17:20:01 · 299 阅读 · 0 评论 -
tomcat设置直接通过域名访问项目(不需要接 /项目名)
效果图打开 tomcat - ->conf- ->server.xml 编辑>修改端口号为80端口(是为了避免http://192.29.193.128:8080/项目名)改成如下代码<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" ...转载 2017-11-12 14:08:17 · 6777 阅读 · 3 评论 -
JAVA中this用法小结
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的thi...转载 2018-01-21 11:02:38 · 157 阅读 · 0 评论 -
java中成员变量和局部变量的初始化
java中成员变量和局部变量的初始化成员变量的初始化在java中,成员变量存在于类之内,方法和代码块之外。class A{修饰符 数据类型 成员变量名;方法(){}}1234这类变量在创建时如果不给初始化值,创建之后java会自动赋默认值:基本数据类型默认值byte0short0int0long0Lchar\u0000(空格)float0.0fdouble0.0dbooleanfalse所...转载 2018-01-23 15:24:09 · 269 阅读 · 0 评论