自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java反射应用实例2

通过反射机制来验证泛型的原理:import java.lang.reflect.Method;import java.util.ArrayList;public class MethodDemo4 { public static void main(String[] args) { ArrayList list = new ArrayList(); ArrayList li

2017-10-20 16:12:31 187

原创 Java反射应用实例1

先看BeanUtil类:import java.lang.reflect.Method;public class BeanUtil { /** * 根据标准javaBean对象的属性名获取其属性值 * * @param obj * @param propertyName * @return */ public static Object getValueByPro

2017-10-20 16:09:36 205

原创 Java反射获取方法

例子:mport java.lang.reflect.Method;public class MethodDemo1 { public static void main(String[] args) { //要获取print(int ,int )方法 1.要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型 A a1 = new A(); Class c = a

2017-10-20 16:05:26 850

原创 Java反射打印类的信息,包括类的成员函数、成员变量(只获取成员函数)

import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ClassUtil { /** * 打印类的信息,包括类的成员函数、成员变量(只获取成员函数) * @param obj 该对象所属类的信息 */ p

2017-10-20 16:01:08 2398

原创 Java反射获取标准JavaBean属性

import java.lang.reflect.Method;public class BeanUtil { /** * 根据标准javaBean对象的属性名获取其属性值 * * @param obj * @param propertyName * @return */ public static Object getValueByPropertyName(Ob

2017-10-20 15:58:04 1297

原创 Java反射ClassDemo1

根据上面的注释理解反射机制public class ClassDemo2 { public static void main(String[] args) { Class c1 = int.class;//int 的类类型 Class c2 = String.class;//String类的类类型 String类字节码(自己发明的) Class c3 = double.cl

2017-10-20 15:53:34 485

原创 Java反射机制基本概念

1.Class类  1) 在面向对象的世界里,万事万物皆对象。(java语言中,静态的成员、普通数据类型除外)   类是不是对象呢?类是(哪个类的对象呢?)谁的对象呢?   类是对象,类是java.lang.Class类的实例对象  2)这个对象到底如何表示  3 )Class.forName("类的全称")       不仅表示了,类的类类型,还代表了动态加载类   

2017-10-20 15:49:49 173

转载 Java内存分析

JAVA中,有六个不同的地方可以存储数据:1.寄存器:最快的存储区,位于不同于其他存储区的地方——处理器内部。寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2. 栈:存放基本类型的变量数据和对象的引用。位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放

2017-10-12 15:35:54 126

原创 Lock和synchronized有以下几点不同:

1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;  2)synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁;  3)Lock可以让等待锁

2017-10-12 15:33:52 217

原创 线程发生死锁的条件与原因

产生死锁的原因主要是: (1) 因为系统资源不足。 (2) 进程运行推进的顺序不合适。 (3) 资源分配不当等。 产生死锁的四个必要条件: (1)互斥条件:一个资源每次只能被一个进程使用。 (2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 (3)不可剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 (4)循环等待条件:若干进程之间

2017-10-12 15:29:29 493

原创 原子性与原子操作

原子性:如果把一个事务可看作是一个程序,它要么完整的被执行,要么完全不执行。原子性达到的目标:就是能使一个程序被完整的执行。原子操作:不可被中断的一个或一系列的操作。CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。1.处理器如何实现原子操作:   A。使用总线锁保证原子性。(缺点:

2017-10-12 15:27:57 1960

原创 final关键字

关于final的重要知识点final关键字可以用于成员变量、本地变量、方法以及类。final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。你不能够对final变量再次赋值。本地变量必须在声明时赋值。在匿名类中所有变量都必须是final变量。final方法不能被重写。final类不能被继承。final关键字不同于finally关键字,

2017-10-12 15:26:52 347

原创 String StringBuffer StringBuilder

1 概述String 字符串常量; StringBuffer 字符串变量(线程安全),是一个容器,最终会通过toString方法变成字符串; StringBuilder 字符串变量(非线程安全)。2 String与StringBuffer区别2.1 在修改时对象自身是否可变(主要区别)(1) String在修改时不会改变对象自身 在每次对

2017-10-12 15:25:56 145

原创 Callable与Future

1.简单点说就是一个产生结果,一个拿到结果.2.Callable借口类似于Runnable,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值。注意1.FutureTask非常适合用于耗时的计算,主线程可以在完成自己的任务后,再去获

2017-10-12 15:23:12 134

转载 Mysql数据库基本命令和基本类型总结

MYSQL的常用命令和增删改查语句和数据类型连接命令:MySQL -h[主机地址] -u[用户名] -p[用户密码]   创建数据库:create database [库名]   显示所有数据库: show databases;   打开数据库:use [库名]   当前选择的库状态:SELECT DATABASE();   创建数据表:CREATE TABLE [表名

2017-08-10 16:15:09 316

转载 集合类小结

ListArrayList以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素–get(i)/set(i,e) 的性能很高,这是数组的基本优势。直接在数组末尾加入元素–add(e)的性能也高,但如果按下标插

2017-08-10 16:10:16 136

原创 抽象类注意点

一个抽象类注意一下几点:1.抽象类只能作为其他类的基类,他不能直接被实例化,而且对抽象类不能使用new操作符。抽象类如果含有变量或值,则他们一定是null类型,要么包含了对非抽象类的实例的引用。2.抽象类允许包含抽象成员,但这不是必须的(可以允许一个抽象类中没有没有任何抽象成员);抽象类中可以有非抽象方法.3.抽象类不能同时又是final的,如果试图将一个final类作为其他类的基类,

2017-06-11 14:13:21 587

原创 什么是正则表达式的贪婪与非贪婪匹配

1.什么是正则表达式的贪婪与非贪婪匹配如:String str="abcaxc";Patter p="ab*c";贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式p匹配字符串str,结果就是匹配到:abcaxc(ab*c)。非贪婪匹配:就是匹配到结果就好,就少的匹配字符。如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab*c)。2.编

2017-06-09 13:48:04 1520 1

原创 Servlet的生命周期

Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet(2)创建:通过调用servlet构造函数创建一个servlet对象(3)初始化:调用init方法初始化(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求(5)卸载:调用destroy方法让servlet

2017-06-09 13:46:27 165

原创 Hashtable和HashMap

1.  关于HashMap的一些说法:a)  HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表。b)  HashMap的实例有俩个参数影响其性能: “初始容量” 和 装填因子。c)  HashMap实现不同步,线程不安全。  HashTable线程安全d)  HashMap中的key

2017-06-07 20:39:46 172

转载 数据结构(9)之带权图

1.        带权图中,边带有一个数字,叫做权,它可能代表距离、耗费、时间或其他意义。2.        带权图用来最常解决的问题是最短路径问题(pps)。3.        带权图的最小生成树中有所有的顶点和连接它们的必要的边,且这些边的权值最小。4.        优先级队列的算法可用于寻找带权图的最小生成树。5.        解决无向带权图的最小生成树的方法1) 

2017-05-14 16:05:43 6477

转载 数据结构(8)之堆

堆1.堆排序定义     n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质):     (1)ki≤K2i且ki≤K2i+1或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ )     若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右

2017-05-14 16:03:15 299

转载 数据结构(7)之红—黑树

概念红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,他称之为"对称二叉B树",它现代的名字是在Leo J. Guibas和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的:它可以在O(log n)时间内

2017-05-14 16:01:55 214

原创 数据结构(6)之二叉树

1.   二叉树?答:二叉树是一种树型结构,它的特点是每个结点至多只有二棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。.二叉树的基本形态:(1)空二叉树;(2)只有一个根结点的二叉树;(3)右子树为空的二叉树;4)左子树为空的二叉树;(5)完全二叉树。二叉树的存储结构 包括:1.顺序存储结构 连续的存储单元存储二叉树的数据元素。例如图

2017-05-14 16:00:31 301

原创 数据结构(5)之哈希表

一般的线性表、树中,记录在结构中的相对位置是随机的即和记录的关键字之间不存在确定的关系,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较”的基础上,查找的效率与比较次数密切相关。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。因而查找时,只需根据这个对应关系f找到给定值K的像f(

2017-05-14 15:59:11 222

原创 数据结构(4)之递归

递归是函数调用自身的一种特殊的编程技术,其应用主要在以下几个方面:阶乘在java当中的基本形式是:Public  void  mothed(int n){//当满足某条件时:                                                              Mothed(n-1);}递归二分查找Java二分查找实现,欢迎大家提出交流意

2017-05-14 15:57:18 201

原创 数据结构(2)之栈和队列

栈和队列 栈和队列都是抽象数据类型(abstract data type,ADT),它们既可以用数组实现,又可以用链表实现。 1. 栈  1)栈模型 栈(Stack,又LIFO:后进先出)是一种只能在固定的一端进行插入和删除的数据结构。栈只允许访问一个数据项:即最后插入的数据项,移除这个数据项后才能访问倒数第二个插入的数据项,以此类推。栈可以用数组来实现,也可以用链表来实现。

2017-05-14 11:07:58 217

转载 数据结构的特性

Java数据结构和算法  第0讲 综述 参考教材:Java数据结构和算法(第二版),[美] Robert lafore  数据结构的特性对比  数据结构 优点 缺点 数组 插入快;如果知道下标,可以非常快地存取 查找慢,删除慢,大小固定

2017-05-14 11:02:17 252

原创 数据结构(1)之数组

数组是我们最常见的数据存储结构,我们大部分编程语言都应用到(例如:java,c,c++等)基础概念就不再介绍了,废话不多说直接上例子。首先第一个例子是基础数组的使用。public class BaseArray { private int[] a; private int size;//数组大小 private int e;//数组元素个数 public BaseArray(int max

2017-05-13 15:31:16 178

原创 mybatis用doc生成的命令

mybatis用doc生成的命令Java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

2017-05-13 15:11:45 210

Java数据结构与经典算法——高手必会

Java数据结构与经典算法

2017-05-14

餐厅管理系统

餐厅管理系统

2016-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除