- 博客(60)
- 资源 (5)
- 收藏
- 关注
原创 一、Spring MVC-使用注解构建Spring MVC
一、原理 一个Web应用,会收到用户的请求。使用Spring MVC框架代替使用servlet来处理请求。Spring MVC原理图如下: 可以看到:接收请求后,调度Servlet、处理器映射(handler mapping)、控制器、视图解析器(view resolver)之间等处理,最后响应用户。详细步骤如下: 1. 请求通过前端控制器(DispatcherServlet) ...
2018-05-08 20:01:19 344
原创 三、Spring-自动装配Bean,Java显式装配Bean,XML显式状态bean
一、创建实例 自动装配Bean,是指使用组件扫描(@ComponentScan),让Spring自动创建Bean。比较常用。1、类A-组件类package two.atuoConfigurationBean;import org.springframework.stereotype.Component;@Componentpublic class A { public void...
2018-05-07 21:44:06 355
原创 Java-线程并发(二)-队列同步器-AbstractQueuedSynchronizer
1、队列同步器概念队列同步器是用来构建锁的基础,它使用一个int变量表示资源的被锁状态,使用FIFO队列来控制线程对资源的加锁。即线程必须先进入队列等待,当资源空闲允许后才能对资源加锁。它提供线程安全地访问状态:getState():获取状态setState(int newState):设置状态compareAndSetState(int expect,int update):使用CAS操作设置当...
2018-05-06 23:17:34 292
原创 Java-线程并发(一)-读写锁-ReentrantReadWriteLock
1、锁基本概念: java并发为了线程安全需要对线程进行加锁,从而保证各线程安全地访问共享数据。但是加锁安全之后,又想提高加锁的效率。出现了共享锁和排它锁。共享锁:同一资源允许多个线程对其进行操作,而且不会引起数据不安全(如脏数据、幻读等现象)排它锁:同一资源允许一个线程对其进行操作,而且不会引起数据不安全综上,共享锁的效率比排它锁高,但并不是所有场景都适用于共享锁。读写锁就是在某一场景下使用...
2018-05-06 23:14:10 306
原创 二、Spring-AOP
一、面向切面编程目的:把应用在各处的功能分离出来,使其成为可重用的组件Spring AOP把业务看作两类:核心关注点和横切关注点核心关注点:核心业务横切关注点:经常融入到核心业务中的系统服务。如日志、事务管理、安全Spring AOP工作原理:AOP使横切关注点模块化,将其与核心业务逻辑相分离。二、实例注意:加入Spring的依赖包1、IA接口package one.aop;public in...
2018-05-06 22:52:20 227
原创 一、Spring注入依赖
一、注入依赖(Dependency Injection) ● 目的:使相互协作组件保持松散耦合。 ● 实现原理:通过Spring容器创建对象的实例,而不是由业务创建。使业务不用关心业务之外的事情。二、创建Spring项目1、Spring项目也可向Java项目一样运行,所以这里创建Java项目。只说明与Java项目有区别的。 这里只需注意五个地方:A类、B类、myMain类、m...
2018-05-06 22:30:44 378
原创 java虚拟机知识点-垃圾收集器与内存分配策略
一、概述1、线程私有:程序计数器、虚拟机栈、本地方法栈2、运行期间分配和回收内存:Java堆和方法区二、对象存活判定算法可达性分析算法通过一系列成为“GC Roots”的对象作为起点,从这些节点开始向下搜索,搜索所走过的路径成为引用链(Reference Chain);当对象不存在引用链时则为不可用可作为“GC Roots”的对象:虚拟机栈(栈帧中的本地变量表)中引用的对象方法区中类静态属性引用的...
2018-03-24 11:21:09 198
原创 Java虚拟机知识点-内存分配
一、概述1.不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄露和内存溢出问题二、运行时数据区域程序计数器:每个线程都有一个(线程私有);唯一一个没有在Java虚拟机规范中规定任何OutMemoryError的内存区域Java虚拟机栈:线程私有;描述Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息局...
2018-03-24 09:22:17 273 1
原创 邻接矩阵的图遍历—深度、广度 java实现
1、图结构 public static int max_ver_num=10; //图 class MGraph{ char ver[]=new char[max_ver_num]; //顶点向量 int arc[][]=new int[max_ver_num][max_ver_num]; //邻接矩阵 int vernum,arcnum; //当前顶点数,边数
2018-03-18 22:30:46 1503
原创 java 静态代理、JDK代理、Cglib代理
1、代理模式 代理对象代表目标对象被访问,代理类可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 2、常见的三种代理实现静态代理动态代理java JDK代理Cglib代理3、静态代理代理类和被代理类实现相同的接口或继承相同的父类,代理对象通过他们的共同的接口或父类访问被代理类。实现:下面是问手机(YourPhone)的价格,但实际上是问华为手机的价格。...
2018-03-14 18:28:31 226
原创 java对象序列化
1、序列化Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列化的对...
2018-03-13 10:54:39 235
原创 java泛型
一、泛型方法1、规则所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。类型参数能被用来声明返回值类型类型参数只能代表引用型类型 //泛型方法 public static <E,T> void method(E[] a,T b) { for (E e : a) ...
2018-03-13 10:44:48 673
原创 java新添知识点—第十五章
【注】博客在看了java程序设计基础和java语言程序设计(基础篇)总结的,想从头开始复习请请看java程序设计基础一、基本数据类型Java对大小写敏感/* */注释不能嵌套在Java中,整型的范围与运行Java代码的机器无关长整型数值:在后面加L二进制数值:前缀为0b数值写法:数值可用下划线隔开,其原数值不变BigDecimal类:在数值计算中不含任何舍入误差整型值与布尔型值之间不能互相转换整数...
2018-03-13 09:59:26 514
原创 java补漏知识点—第十四章
一、二进制I/O文件输入输出类:文本I/O类和二进制I/O类抽象类InputStream:是读取二进制数据的根类方法:read()从输入流中读取下一个字节数据read(byte[] b)从输入流中读取b.length个字节到数组b中read(byte[] b,int off,int len)从输入流读取字节并且将它们保存在b[off],b[off+1],…,b[off+len-1]中availab...
2018-03-13 09:55:35 369
原创 java补漏知识点—第十三章
一、继承super:指代父类,可用于调用父类的普通方法和构造方法构造必须是构造方法的第一行(this也是)构造一个类的实例时,将会调用沿着继承链的所有父类的构造方法父类应该有无参的构造函数(防止子类没有定义构造时调用)仅当方法是可访问的(不是private)时,它才能被重写(覆盖≠重载)静态方法也能被继承,但不能被覆盖重写标注:在子类的方法前面放一个@OverrideJava中所有类都继承自Jav...
2018-03-13 09:54:32 297
原创 java补漏知识点—第十二章
一、抽象类Number类:是数值包装类、BigInteger以及BigDecimal类的抽象父类Calendar类:是GregorianCalendar类的抽象父类方法:get(int field)返回一个给定日历域的值set(int field,int value)将给定的日历设为指定值set(int year,int month,int dayOfMonth)设定日历的年、月(月份从0开始,0...
2018-03-13 09:53:43 269
原创 java补漏知识点—第十一章
一、异常处理声明异常的关键字:throws抛出异常后,编译器会跳到catch块;若没有,则跳到调用该方法的方法,继续查找catch块,如果在打印链中都找不到,程序终止并在控制台打印catch块一个catch块可以捕获一个异常对象,它就能捕获其所有异常子类的异常若多个catch块,异常子类的顺序必须在其父类的前面 4. Java API中的大多数异常类都包含两个构造方法:一个无...
2018-03-13 09:52:56 271
原创 java补漏知识点—第十章
一、数组除基本类型外,数组变量都可看做其引用;传递参数是,基本类型是按值传递,而数组是按其引用传递的堆用于动态内存分配变长参数类型相同但个数可变方法中的参数声明:typeName… parameterName只能给方法中指定一个可变长参数,同时该参数必须是最后一个参数Array类sort或parallelSort方法:对数组排序equals方法:判断两个数组是否相等fill方法:填充整个数组或部分...
2018-03-13 09:51:39 236
原创 java补漏知识点—第九章
一、Math类三角函数sin(radians)返回以弧度为单位的角度的三角正弦函数值,1弧度约为57.3°cos(radians)返回以弧度为单位的角度的三角余弦函数值tan(radians)返回以弧度为单位的角度的三角正切函数值toRadians(degree)将以度为单位的角度值转换为以弧度表示toDegrees(radians)将以弧度为单位的角度值转换为以度表示asin(a)返回以弧度为单...
2018-03-13 09:42:37 333
原创 java补漏知识点—第八章
0. 解释的过程就是一次将字节码中单独的一步翻译为目标机器语言代码,翻译完一步后立即执行1. 输入1) 创建Scanner对象:Scanner in=new Scanner(System.in)2) 对象调用方法:in.方法 a) nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()、nextDouble()2. 运算...
2018-03-12 20:59:16 326
原创 判断回文-递归
0.回文字符串:字符串两端对称相等,如abccba为回文字符串。1.判断情况1)回文:字符串长度小于1或两端对应相等2)不是回文:两端的字符不相等2.实现程序:1)我的代码块:另外在函数调用时要判断字符串长度是否小于1public static void isPalindrome(String s,int n){ if(n<s.length()-n){ //是否到达中...
2017-09-30 11:42:38 1150
原创 斐波那契数列-递归-java实现
1.斐波那契数列的通项公式a(n),【其中n>=0】为:1)n=0:a(n)=0//已知值2)n=1:a(n)=1//已知值3)n>1:a(n)=a(n-1)+a(n-2) 1.1具体数值:0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 ...
2017-09-30 10:19:00 839
翻译 Eclipse一些快捷键
参考:http://blog.csdn.net/chengly0129/article/details/492488811.自定义快捷键:eclipse>>>window>>>preferences>>>keys2.多行注释:选中你要加注释的区域,用ctrl+shift+C或者ctrl+/会加上//注释3.调出快捷键列表:Ctrl + Shift + L4.快速导入包:
2017-09-23 17:31:36 230
原创 struts2问题
1.cvc-complex-type.2.4.a: Invalid content was found starting with element 'fil这个问题发生在web.xml文件的filter上,原来是改版的问题我的源代码如下: struts2 /* 我下了新jar包(struts-2.5.13);所以与以前别人写的
2017-09-21 15:34:02 225
转载 MyEclipsse的字符问题
http://blog.csdn.net/linwei_hello/article/details/44117905Reason:some characters cannot be mapped using "ISO-8859-1" character encoding.Either change the encoding or remove the charact
2017-09-20 13:21:46 237
转载 MySQL 配置记录
原文:http://www.cnblogs.com/sshoub/p/4321640.html我这里只是记录下,请去原文查看MySQL数据库安装与配置详解目录一、概述二、MySQL安装三、安装成功验证四、NavicatforMySQL下载及使用 一、概述 MySQL版本:5.7.17 下载地址:http://rj.baidu.co
2017-09-20 08:58:19 338
原创 Java-第7章
7.0简介1.核心库Java.io包提供了全面的I/O接口2.Java中I/O是以流为基础进行串行化输入/输出7.1File类1.File类从java.lang.Object类继承而来的2.在创建File类对象时,必须制定文件或者目录的路径1) 路径可分为绝对路径和相对路径3.常用方法:canRead、canWrite、compareTo、createNewFile等4.目录也是一种文件7.2流1...
2017-09-13 13:26:39 523
原创 Java-第六章
6.0简介 1.java.util包是Java的实用工具类库6.1日期和时间1. Date类1) 构造:Data2) 主要方法:after、before、equals、toString2. 日历类:Calendar1) 该类是抽象类2) 主要方法:getInstance、Calendar、getTi...
2017-09-11 21:24:07 515
原创 Java-第五章
5.0简介1. Java.lang包是Java的核心类库2. 系统自动导入5.1Object类1. toString方法:返回描述对象的一个字符串2. equals方法:调用对象与指定对象obj引用同一实例3. clone方法:实现对象的复制4. getClass方法:返回调用对象的Class对象5.2包装类1. ...
2017-09-11 20:43:37 510
原创 Java-第四章
4.1异常1. Exception异常类是所有异常类的父类4.2异常处理1. try、catch、finally、throw、throws1) try:存放监控异常的代码2) catch:捕获异常并处理3) finally:无论异常与否都要执行4) throw:用于认为显式地抛出异常a) 用法:thr...
2017-09-11 19:44:59 421
原创 Java-第三章
3.1访问控制级别1. public:所有类都可以访问2. protected:同一包中的类或子类可以访问;不可修饰类3. private:类内部可访问;不可修饰类4. default:默认;当前目录(包)下的类可访问3.2类1. 类的成员变量拥有默认值;而普通的局部变量没有2. 一个java文件,只允许一个pub...
2017-09-11 18:53:27 508
原创 Java-第二章
2.0简介1. 字符串当作对象处理2. Java不支持指针、结构体、联合体等复杂数据结构2.1标识符1. 标示符命名规则1) 由字母(A~Z、a~z)、特殊符号($、_)和数字组成;Unicode编码2) 不能以数字开头3) 保留字或Java已用的标示符(如int、class、true、null)4) ...
2017-09-10 19:56:58 606
原创 java—第一章
看了关于java的书,做一些知识点总结,方便以后查看参考书:Java程序设计基础教程 Java语言程序设计(基础篇) Java核心技术1.2java的特点1. 简单性2. 可靠性和安全性a) java不支持指针数据类型b) 自动内存垃圾回收c) Java虚拟机中有一个字节码校验器(对编...
2017-09-10 14:45:01 937
原创 redhat6.4安装arm-linux-gcc
1、下载arm-linux-gcc-4.4.3.tar.gz安装包,网友的:http://download.csdn.net/detail/zlyong0018/4646377#comment2、将其复制到/tmp(自己爱好)3、压缩并安装。打开终端,输入 sudo tar xvzf arm-linux-gcc-4.4.3.tar.gz -C / 4、设置环
2016-05-15 21:17:49 768 2
转载 cmd命令大全
转自:http://www.cnblogs.com/greatverve/archive/2011/12/09/windows-cmd.html命令简介cmd是command的缩写.即命令行 。 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全、稳定,有的用户还在使用,所以一
2016-05-05 21:07:08 679
原创 win8.1下创建开机启动项
一、设置启动项1、转到目录C:\Users\lenovo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup下(注意这里的lenovo是我的用户名,需要改为你的用户名)2、将快捷方式粘贴到该目录下即可3、验证只需重启即可二、应用程序不能通过用户账户控制1、“控制面板”–“管理工具”-“任务计划程序”
2016-05-04 22:34:50 892
原创 git提交android项目 window8
1、进入git官网先把 Git 的安装包下载下来2、下载完成后双击安装包进行安装,之后一直点击下一步就可以完成安装了。3、首先应该配置一下你的身份,输入以下命令(注意“Tony”是你的名字“Tony@amail.com”是你的邮箱)git config --global user.name "Tony"git config --globa
2016-04-23 19:10:08 401
原创 android真机调试时使用adb shell命令 windows
adb 是 Android SDK 中自带的一个调试工具,使用这个工具可以直接对连接在电脑上的手机或模拟器进行调试操作。它存放在 sdk 的 platform-tools 目录下,如果想要在命令行中使用这个工具,就需要先把它的路径配置到环境变量里。如果你使用的是 Windows 系统,可以右击我的电脑→属性→高级→环境变量,然后在系统变量里找到 Path 并点击编辑,将 platf
2016-04-22 14:03:54 1595
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人