![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础笔记
文章平均质量分 69
程序cow
coding !
展开
-
简述MVC设计思想
一、概念 MVC是model、view、controller的简称。它是一中软件的设计思想,将应用的一个输入、处理、输出按照模型层,视图层,控制层进行分层设计。 1)模型: 业务逻辑包含了业务数据的加工与处理以及相应的基础服务(为了保证业务逻辑能够正常进行的事务、安全、权限、日志等等的功能模块) 2)视图:展现模型处理的结果;另外,还要提供相应的操作界面,方便用户使用。 3)控制器:视图发...原创 2018-03-14 19:43:03 · 2375 阅读 · 0 评论 -
Junit的使用
Junit单元测试的使用 一、Junit介绍 Junit是java语言的单元测试框架,需要程序员自身进行编写测试用例,也称为白盒测试。使用它可以大大的提高开发的效率。比如一个web项目添加一个新服务后,需要重新部署进行测试。这时就可以使用Junit进行测试。 二、基本使用 @BeforeClass:在所有方法开始前执行,仅仅执行一次。注意:方法必须为静态的。 @Before:在每个方法开...原创 2018-04-07 15:31:49 · 209 阅读 · 0 评论 -
java注解的使用——含例子
一、解释注解 Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。 Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执...原创 2018-03-27 22:59:44 · 187 阅读 · 0 评论 -
Java内省的理解和使用
内省内省是基于反射实现的,主要用来操作JavaBean,通过内省可以很方便的动态获得bean的set/get方法,属性,方法名反射反射就是运行时获取一个类的所有信息,可以获取到.class的任何定义的信息(包括成员 变量,成员方法,构造器等) 可以操纵类的字段、方法、构造器等部分。需求(IOC容器中给某对象注入值) 1、获得一个对象,某属性的set方法//Student类 ...原创 2018-04-06 16:26:24 · 1056 阅读 · 0 评论 -
排序算法总结——java语言实现
一、冒泡排序(1)、基本思想 第一趟,从第0个记录到第n-1个记录,i和i+1关键码进行比较,与要求逆序则交换位置。一趟后最大的关键码就放到了n位置 第二趟,从第0个记录到第n-2进行第二趟冒泡。 如此重复n-1趟,如果在一趟中没有发生交换,说明数组已经是有序的了。(2)、代码实现 //冒泡排序实现 public static void buble_sort(i...原创 2018-04-23 21:36:35 · 212 阅读 · 0 评论 -
单例模式的几种写法
所谓单例模式就是确保某一个类只有一个实例,并且提供一个全局访问点。例如 线程池、缓存、对话框等等 (1)、饿汉模式(保证线程安全) public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){ } public...原创 2018-09-08 23:58:36 · 120 阅读 · 0 评论 -
hash冲突解决办法
虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发 生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是 哈希技术中的两个重要问题。1、开放定址法 用开放定址法解决冲突的做法是:当冲突发生时,使用某种探查(亦称探...原创 2018-09-21 10:38:45 · 435 阅读 · 0 评论 -
I/O模型
**传统i/o特点**1、存在阻塞点server.accept();socket,getInputStream();2、单线程只能有一个客户端,用线程池可以用多个客户端,但是非常消耗性能3、面向流方式处理数据NIO特点:1、ServerSocketChannel ServerSocketSocketChannel SocketSelectorSelectionKey...原创 2018-10-13 10:07:43 · 138 阅读 · 0 评论 -
arrays.asList方法注意事项
Arrays.asList用来将数组转化为List,这个看似功能很明了的方法却暗藏玄机。请先看下面的程序:int[] datas = new int[]{1,2,3,4,5};List list = Arrays.asList(datas);System.out.println(list.size());运行结果是1。一个长度为5的数组,转化为List后,长度却成了1。再对这个程序稍加...原创 2019-01-17 15:54:30 · 324 阅读 · 0 评论 -
软件开发模型优缺点及其适用范围
瀑布模型也称软件生存周期模型。优点:它在软件工程中占有重要地位,它提供了软件开发的基本框架,这比依靠“个人技艺”开发软件好得多。它有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。缺点:阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;由于开发模型是线性的用户只有等到整个过程的末期才能见到开发成果,从而...原创 2019-01-22 11:24:02 · 4981 阅读 · 0 评论 -
session和cookie区别 get和post区别 http和https区别
一、session和cookie区别 1、cookie数据存放在客户的浏览器上(客户端),session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKI...原创 2018-03-13 22:07:43 · 572 阅读 · 0 评论 -
java反射简单总结及运用
一、开场白 在学习java过程中,反射在java基础阶段就有接触,不过,当时也是没有理解,只是大概的了解了一下。反射也没有实际使用过,后来的学习了框架,听说很多是反射实现的。感觉反射是大神们玩的东西,作为小白就总结一点反射的基本用法吧,可能对以后的学习会有所帮助。 记住:Class类,Field类,Method类,Constructor类都是在运行期执行的 可以绕过编译期间 二、得到Clas...原创 2018-03-12 23:00:16 · 141 阅读 · 0 评论 -
==和equals的用法,以及hashcode方法
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相当,只能用==操作符。 equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。字符串Stirng比较要用equals方法。例如,对于下面的代码: String a=new String("...原创 2018-03-14 20:54:39 · 403 阅读 · 0 评论 -
java jdk相关知识总结
一、常用的jdk包 java.lang(不用import的包):包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。 java.sql: 这个是数据库操作的类,Connection, Statememt,ResultSet等 javax.servlet:这个是JSP,Servlet等使用到的类。 java.awt:包含了构成抽象...原创 2018-03-15 21:22:10 · 273 阅读 · 0 评论 -
什么是Java序列化和反序列化
1 含义序列化:把java对象转变成一组字节序列的过程 反序列化:从一组字节序列恢复成一个java对象。 注意:序列化过程仅保存对象的成员变量。 2、使用时机 1)需要将内存中的对象”持久化”的存储在硬盘上(文件或数据库中) 2)需要网络通信时:先将对象序列化为一串二进制字节流,再进行传输;接收端,先接收二进制流,再从中反序列化出对象。 3、方法 Serializable 该接...原创 2018-03-15 21:41:58 · 198 阅读 · 0 评论 -
Object类中常见的方法
一.Object类中的toString()方法 1. object 默认方法 toString方法,toString() 输出一个对象的地址字符串(哈希code码)! 2.可以通过重写toString方法,获取对象的属性! 快捷键 alt+shift+s创建Override toString() 二.Object类中的equals()方法 Object类e...原创 2018-03-15 22:00:48 · 2042 阅读 · 0 评论 -
java异常处理 Exception、error、运行时异常和一般异常有何异同
一、开场白对于程序运行过程中的可能出现异常情况,java语言使用一种称为异常处理的错误捕捉机制进行处理。相信大家对 try { }catch( ){} finally{} 这种结构非常熟悉,使用频率极高。既然经常使用它,而且也是面试常问知识点,我们就有必要去深入地了解一下。也谈不上深入,只是java语言的基本功。下面,开始吧!二、异常分类在java中,异常对象都是派生于Throwabl...原创 2018-03-09 22:59:55 · 19173 阅读 · 2 评论 -
java自动装箱拆箱及一些陷阱
一、概念装箱:是指基本类型变为相应包装类的过程,如Integer a=Integer.valueOf(100);或者int a=100;Integer b=new Integer(a);这里的Integer.valueOf(100)和new Integer(a)就是装箱,由基本数据类型构造出一个包装类的对象。拆箱:就是装箱的逆过程。如Integer a=new Integer(100);i...原创 2018-03-10 21:58:09 · 216 阅读 · 0 评论 -
String、StringBuilder、StringBuffer
字符串操作可以说是每天都会遇见,今天总结一下。String是字符串常量,它的类和方法用final修饰的。“对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象”。 String str=”hello world”和String str=new String(“hello world”)final的三个作用: 1.修饰变量时,则变量值不能改变,即为常...原创 2018-03-10 22:33:24 · 181 阅读 · 0 评论 -
区分final、finally和finalize
final、finally、finalize的区别这三个词是java中经常遇到的,它们除了长得像之外在使用上可完全不同哦。一、final 英 [‘faɪn(ə)l] 美 [‘faɪnl]final 用于声明属性,方法和类,分别表示属性不可变,注意:如果是基本类型说明变量本身不能改变,如果是引用类型,说明它不能指向其他的对象了。但对象还是可以改变的。方法不可覆盖,类不可继承。二...原创 2018-03-03 22:53:24 · 353 阅读 · 0 评论 -
重载和重写的区别 抽象类和接口的区别
重载(Overloading):重载是一个类多态性的重要表现。对于同一个类,如果这个类里面有两个或者多个重名的方法(比如类中的构造方法),但是方法的参数个数、类型、顺序至少有一个不一样,这时候局构成方法重载。不能以返回值区分重载方法,而只能以“参数类型”来区分。重写(Overriding):重写是体现父类与子类的间的多态性。当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类...原创 2018-03-11 17:14:57 · 701 阅读 · 0 评论 -
Fastjson生成json时Null属性不显示
JSONObject.toJSONString(Object object, SerializerFeature… features)Fastjson的SerializerFeature序列化属性QuoteFieldNames———-输出key时是否使用双引号,默认为trueWriteMapNullValue——–是否输出值为null的字段,默认为falseWriteNullNumberA...原创 2019-02-20 09:42:56 · 269 阅读 · 0 评论