02 2020 档案
摘要:简介 在Spring AOP概述中我们重点注意的是AOP的整体流程和Advice,简化了一些其他的东西,其中就有一些对灵活应用Spring AOP很重要的知识点,例如Pointcut表达式,下面就介绍一下Spring AOP的Pointcut表达式。 如果你对Pointcut表达式的作用还不是很了解
阅读全文
摘要:Spring除了支持Schema方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明。 1 启用对@AspectJ的支持 Spring默认不支持@AspectJ风格的切面声明,为了支持需要使用如下配置: 这样Spring就能发现@AspectJ风格的切面并且将切面应用到目标对象。 2
阅读全文
摘要:Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。 Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注
阅读全文
摘要:JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? 联系: JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。 JSP编译后是"类 servlet"。 最主要的不同点: Servlet 的应用逻辑是在 Java文件中,并且完全从
阅读全文
摘要:Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 eg: 假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他
阅读全文
摘要:1. GET请求与POST请求 HTTP协议是现在Internet上使用得最多、最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源。 在介绍HttpURLConnection前,我们还是再来说一下URL请求最常用的两种方式:GET请求与POST请求。 GET请求的数据会
阅读全文
摘要:在mybatis中,配置参数要用 ,不要用符号。因为不安全,容易被sql注入。讲是这么讲,但是如何注入的,大家一起来看看吧。 一:下面我们写个关于“ ”的个sql,看能不能注入。 1.正常传参 DfwsSysUserAccount user = new DfwsSysUserAccount();
阅读全文
摘要:文章内容: 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
阅读全文
摘要:《目录》 缓存的需要,缓存的原理 页面缓存的思路 热点数据缓存的思路,4个点 页面局部缓存(与静态缓存的信息是相似的) 缓存可能引起的问题以及解决思路 由于后端跳转页面转向ajax技术请求参数的页面静态化技术与思路,这一步也是前后端分离的实现 SpringBoot的设置使得静态页面缓存在浏览器,与浏
阅读全文
摘要:一句话总结: 系统的瓶颈往往是来自于数据库,我们可以使用缓存来减少对数据库的访问! 系统都是逐渐演进的,一个系统在运行中必须是根据场景逐渐地提高优化性能。高并发就是对资源的节约的考验,这种考验除了更换优秀和先进的技术,优化架构,还在于从小处出发,对尽可能节约的资源进行节约。而在一个系统的数据访问中,
阅读全文
摘要:语法(定义) 创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式 Class Enum ,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(St
阅读全文
摘要:连接池的基本工作原理 1、基本概念及原理 由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理。我们知道,对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配?释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池
阅读全文
摘要:算术运算符 ++d 和 d++ 的区别: ++d 是先加,先对 d 的值加 1,再使用 d 的值执行该行命令。 d++ 是后加,先使用 d 的值执行该行命令,执行完后再对 d 的值加 1。 实例: public Demo{ public void main(String args[]){ int c
阅读全文
摘要:数学意义:在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。 计算:3 = :右移位赋值运算符。如C = 2等价于C = C 2。 &= :按位与赋值运算符。如 C&= 2等价于C = C&2。 ^ =:按位异或赋值操作符。如C ^ = 2等价于
阅读全文
摘要:abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系! native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。例如,FileOutputSteam类
阅读全文
摘要:成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。 局部内部类和匿名内部类只能访问局部final变量。 匿名的内部类是没有名字的内部类。不能 extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。 一.内部类基础 在 Java 中
阅读全文
摘要:1、 连接Oracle 8/8i/9i数据库 Class.forName("oracle.jdbc.driver.OracleDriver"); String url=”jdbc: oracle:thin:@192.168.0.1:1521:orcl”; String user=”test”; St
阅读全文
摘要:java使用面向对象的方式来处理异常,它把程序中发生的每个异常分别封装到一个对象中,该对象包含有异常的信息.所有异常的根类是Throwable, Throwable又派生了两个子类,Error和Exception,Exception包括运行时期异常和编译期异常 运行时期异常的特点: ①方法定义中无需
阅读全文
摘要:文章导读: 在后面跟其他数据库做对比的时候,这个是其中一个点(关系型数据库) 把本文的区别搞清楚就行了,进公司就一点问题没有。 本文解决问题: ①、主键与外键的纠葛 先来看看主键与外键的来源吧: 1、主键约束( PRIMARY KEY): Ⅰ、 唯一标识数据库表中的每条记录; Ⅱ、主键必须包含唯一的
阅读全文
摘要:NumberFormat 【简介】 java.text.NumberFormat extends java.text.Format extends java.lang.Object 实现的接口:Serializable, Cloneable 直接子类:ChoiceFormat, DecimalFor
阅读全文
摘要:Hashmap的存值:(map.put(key,value)) 1 public static void main(String[] args) { 2 /// Integer /map.put("1", 1);//向map中添加值(返回这个key以前的值,如果没有返回null) 3 HashMap
阅读全文
摘要:按效率排: 1、StringTokenizer切割 是java.util中的一个类,包含的api有: StringTokenizer的方法请参考上一篇。 其中,countTokens为length;nextToken可以获取它的下一个字符串,其中delim为分隔符。 2、..split(" ")分割
阅读全文
摘要:Java StringTokenizer 属于 java.util 包,用于分隔字符串。 StringTokenizer 构造方法: 1. StringTokenizer(String str) :构造一个用来解析 str 的 StringTokenizer 对象。java 默认的分隔符是空格(""
阅读全文
摘要:1.abstract class Name { private String name; public abstract boolean isStupidName(String name){}} 大侠们,这有何错误? 答案: 错。 abstract method 必须以分号结尾,且不带花括号。 2.
阅读全文
摘要:字节流,字符流。 字节流继承于 InputStream \ OutputStream, 字符流继承于 InputStreamReader \ OutputStreamWriter。 在 java.io 包中还有许多其他的流,主要是为了提高性能和使用方便。
阅读全文
摘要:1、创建状态 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序 start() 这个线程。 2、就绪状态 当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。
阅读全文
摘要:Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。 在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便 抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处 理。Java的异常处理
阅读全文
摘要:工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 介绍 意图:定义一个创建对象的接口,让其子类自
阅读全文
摘要:作用: Tomcat:目前应用非常广泛的免费web服务器,支持部分j2ee。 WebSphere:是IBM集成软件平台。可做web服务器,WebSphere提供了可靠、灵活和健壮的集成软件。 Weblogic:是美国bea公司出品的一个基于j2ee架构的中间件。BEA WebLogic是用于开发、集
阅读全文
摘要:public void init(ServletConfig config); public ServletConfig getServletConfig(); public String getServletInfo(); public void service(ServletRequestreq
阅读全文
摘要:主要相同点:Lock 能完成 synchronized 所实现的所有功能 主要不同点:Lock 有比synchronized 更精确的线程语义和更好的性能。 synchronized 会自动释放锁,而 Lock 一定要求程序员手工释放,并且必须在finally 从句中释放。 synchronized
阅读全文
摘要:setAttribute(String name,Object):设置名字为 name 的 request 的参数值 getAttribute(String name):返回由 name 指定的属性值 getAttributeNames():返回 request 对象所有属性的名字集合,结果是一个枚
阅读全文
摘要:在c语言中,char类型占一个字节,而汉字占两个字节,所以不能存储。 在java语言中,char类型占两个字节,而java默认采用Unicode码是16位,所以一个Unicode码占两个字节,java中无论汉字还是英文都是用Unicode编码来表达的,所以可以存储一个汉字。 1Byte(字节) =
阅读全文
摘要:JVM 中类的装载是由 ClassLoader 和它的子类来实现的, Java ClassLoader 是一个重要的 Java 运行时系统组件。它负责在运行时查找和装入类文件的类。
阅读全文
摘要:单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该
阅读全文
摘要:继承Thread类不能实现资源共享。(程序启动了三个线程,但是3个线程却分别卖了各自的5张票,并没有达到资源共享的目的) 实现Runnable接口可以资源共享。(程序启动了三个线程,但是3个线程一共才卖了5张票,即ticket属性被所有的线程对象共享) 问题: 设计 4 个线程,其中两个线程每次对
阅读全文
摘要:math.round(11.5)==12 传入的值是11.5,通过math.round方法进行四舍五入变成12(把一个数字舍入为最接近的整数) string s = new string("xyz"); 创建两个对象 第一个 new的时候 会在堆生成一个对象 第二个 当成参数传入的"xyz"会在常量
阅读全文
摘要:JSP中的三种命令指令分别是page、include、taglib JSP中的动作元素包括:include、forward、useBean、getProperty、setProperty、plugin、param。 jsp:forward : 执行页面转向,将请求的处理转发到下一个页面。 jsp:p
阅读全文
摘要:JSP中九大内置对象为: request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page pageContext 页面上下文对象 类型 ja
阅读全文
摘要:forward是转发,redirect是重定向。 从数据共享来说: forward是一个请求的延续,可以共享request的数据; redirect是开启一个新的请求,不可以共享request的数据; 从效率来说: forward效率较高; redirect效率较低; 从运用地方来说: forwar
阅读全文
摘要:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方
阅读全文
摘要:JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。 1、继承Thread类实现多线程 继承Thread类的方法尽管
阅读全文
摘要:就 ArrayList 与 Vector 主要从二方面来说. 一.同步性:Vector 是线程安全的,也就是说是同步的,而ArrayList 是线程序不安全的,不是同步的 二.数据增长:当需要增长时,Vector 默认增长为原来一培,而 ArrayList 却是原来的一半 就 HashMap 与 H
阅读全文
摘要:Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派 遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候 调用其 destroy 方法。 与 cgi 的区别在于 servlet
阅读全文
摘要:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能 遇到的异常, 是一种常见运行错误。java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是 并不要求必须 声明抛出未被捕获的运行时异常。 简而言之就是运行时异常是在Java虚拟机运行时发生的异常,而一般异常是在
阅读全文
摘要:JAVA 平台提供了两个类:String 和 StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个 String 类提供了数值不可改变的字符串。而这个 StringBuffer 类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用 StringBuffer。
阅读全文
摘要:Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。int 是 java 的原始数据类型,Integer是 java 为 int 提供的封装类。Java 为每个原始类型提供了封装类。 原始类型封装类boolean、Boolean char、Character byte、Byte shor
阅读全文
摘要:基本数据类型包括 byte、int、char、long、float、double、boolean 和 short。java.lang.String 类是 final 类型的,因此不可以继承这个类、不能修改这个类。为了提高效率、节省空间,我们应该用 StringBuffer 类。
阅读全文
摘要:抽象:抽象就是忽略一个主题中与当前目标 无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而 只是选择其中的一部分, 暂时不 用部分细节。抽象包括两个方面, 一是过程抽象,二是数据抽象。1) 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述
阅读全文