java
苏雪夜酒1991
Java之路
展开
-
Java之路从今天开始
从今天开始,坚持每天看书,然后写自己的心得和疑问,让博客见证菜鸟的成长之路。原创 2016-11-16 15:40:11 · 188 阅读 · 0 评论 -
接口与抽象类的区别?
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅转载 2018-01-02 15:23:21 · 206 阅读 · 0 评论 -
Cookie和Session的作用和工作原理
一、Cookie详解(1)简介因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么。为了做到这点,就需要使用到Cookie了。服务器可以设置或读取Cookies中包含信息,转载 2018-01-04 16:04:08 · 230 阅读 · 0 评论 -
很有用的网址
http://blog.csdn.net/sinat_27406925/article/details/53596276转载 2018-03-20 18:33:21 · 153 阅读 · 0 评论 -
截取以双引号内的多个字符串
字符串的截取很常见,常见的方法就是split()方法,但是要根据截取标志和截取内容的不同,要灵活运用String类的方法,如,要对"AAAA","BBBBB","CCCC"字符串进行截取,先将代码贴出来:String str = ""AAAA","BBBBB","CCCC""; 要截取的字符串String lin原创 2018-04-25 09:04:15 · 7241 阅读 · 0 评论 -
Java面试题全集(上)
2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容...转载 2018-07-02 08:59:26 · 308 阅读 · 0 评论 -
关于meta标签中的http-equiv属性使用介绍
meta是html语言head区的一个辅助性标签。也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言,自动刷新并指向新的页面,实现网页转换时的动态效果,控制页面缓冲,网页定级评价,控制网页显示的窗口等! meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不...转载 2018-08-10 15:05:45 · 217 阅读 · 0 评论 -
spring的数据绑定
数据绑定是指把web页面提交的参数转换为一个数据对象的操作。传统的数据绑定是手工完成的,即通过HttpServletRequest中获取参数,如:request.getParameter("name");当对象数量多的时候,抽取参数、组合对象的代码就会冗长复杂。Spring提供的数据绑定功能,能够自动将参数赋予指定的对象。protected ModelAndView onSubmit(Obje...原创 2018-08-07 15:54:39 · 727 阅读 · 0 评论 -
hashcode()和equals()有什么用
hashcode()是为了提高查询速度,equals()是为了避免大批量数据输入产生哈希冲突造成无法判断两个对象是否相等。原创 2019-06-26 16:31:00 · 167 阅读 · 0 评论 -
校验名称是否含有特殊字符
public boolean checkName(String name){ String sts="~,!,@,#,$,%,^,&,*,+,|,},{,\",:,<,>,?,/,;,\',\',[,],\\,=,`,。"; String[] arrays=sts.split(","); boolean flag=false; for(int i=0;...原创 2019-06-26 17:37:25 · 3153 阅读 · 0 评论 -
根据身份证获取生日
/* * 通过身份证获取被某人的生日 */private String getBirthDay(String identifyNumber) { String inputYear = getBirthDayByYear(identifyNumber); String inputMonth = getBirthDayByMonth(identifyNumber); Stri...原创 2019-06-26 17:40:34 · 1252 阅读 · 0 评论 -
日期与字符串的相互转化
日期转换成字符串public static String dateToStr(Date date) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String str = format.format(date); return str;}字符串转换成日期public stat...原创 2019-06-26 17:53:55 · 200 阅读 · 0 评论 -
根据起始日期、起始时间、终止日期、终止时间计算天数
public static int getDaysCount(Date startDate, int startHour, Date endDate, int endHour) { // 根据起始日期计算起始的毫秒 long startTime = startDate.getTime(); // 根据终止日期计算终止的毫秒 long endTime = end...原创 2019-06-26 17:56:57 · 10601 阅读 · 0 评论 -
根据起始日期、起始时间、终止日期、终止时间计算月数
public static int getMonthsCount(Date startDate, int startHour, Date endDate, int endHour) { // 年份差 int yearDiff = endDate.getYear() - startDate.getYear(); // 月份差 int monthDiff = en...原创 2019-06-26 17:58:07 · 9136 阅读 · 0 评论 -
根据起始日期、起始时间、终止日期、终止时间计算年数
public static int getYearsCount(Date startDate, int startHour, Date endDate, int endHour) { int yearCount = 0; // 获取之间的月数 int monthCount = getMonthsCount(startDate, startHour, endDate...原创 2019-06-26 17:59:26 · 6475 阅读 · 0 评论 -
Java读取Properties文件的六种方法
使用J2SE API读取Properties文件的六种方法1。使用java.util.Properties类的load()方法示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));Properties p = new Properties();p.load(in);2。使用jav转载 2017-12-26 15:47:47 · 167 阅读 · 0 评论 -
判断是否为数字类型
1、可以用异常来做校验/** * 判断字符串是否是整数 */ public static boolean isInteger(String value) { try { Integer.parseInt(value);//判断是否为数字 return true; } catch (NumberFormatExcepti原创 2017-12-07 17:50:19 · 851 阅读 · 0 评论 -
Java多线程实现方式
JAVA多线程实现的四种方式Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。 1、继承Thr转载 2017-12-06 09:05:47 · 163 阅读 · 0 评论 -
嵌套循环 乘法口诀
/** * * @author miaoxiaoqiang *for循环建立乘法口诀表 */public class Multiplication {public static void main(String[]args){for(int i=1;ifor(int j=1;jSystem.out.print(" "+i + "*" +j+ "=" +(i*j原创 2016-11-16 20:21:03 · 368 阅读 · 0 评论 -
判断素数
面试遇到的笔试题,当初学的时候觉得听简单的,时间长了,又给忘了。突然发现,敲代码一定要勤奋,拳不离手,曲不离口。废话少说,直接上代码:package sushu;/** * 所谓素数,就是除了1和它本身之外不能被其他数整除的数 */import java.util.Scanner;public class Sushu {public stat原创 2017-06-28 23:01:32 · 230 阅读 · 0 评论 -
水仙花
水仙花:本身是一个三位数,每位数的立方相加之和等于该数本身。具体代码实现为:package sushu;public class Wflower {public static void main(String[] args) {int a=0,b=0,c=0;System.out.println("水仙花数是:"); for (int i = 100; i原创 2017-06-28 23:11:52 · 249 阅读 · 0 评论 -
接口,我想和你谈谈
接口的存在是为了弥补Java中类只能单继承的缺陷,通俗点概述类和接口可以这样说,Java中实现单继承多实现。今天来聊一聊接口接口的关键字是interface,实现的关键字是implements,如果需要继承多个接口时,用英文状态下的逗号隔开即可。如果一个类继承了某个接口,那么它就需要实现接口中的所有方法,这个也是接口相对于继承类来说的一个弊端。接口也可以继承接口,此时的接口和类很相原创 2017-06-20 22:35:40 · 240 阅读 · 0 评论 -
面试那点事儿(数值型的运算)
众所周知除数为0的运算会抛出算术异常,取余也会抛出异常,今天面试,问两个double类型的数值进行取余,其中取余数为0,当时没想起来,回去试了一下,发现结果是:两个int类型的数值相除或者取余,除数或者取余数为0都会抛出运算异常。但是,,两个double类型的数值进行相除,没有抛出异常,而是返回结果Infinity而两个double类型的数据进行取余,返回结果是NaN,即 not a原创 2017-06-20 22:45:27 · 280 阅读 · 0 评论 -
今天来聊聊序列化与烦序列化
一直都对序列化和反序列化感到挺模糊的,今天在博客园中看到孤傲苍狼写的有关序列化和反序列化的一篇文章,感觉说的挺好的。加上自己的理解,就像把它写出来。目的就在于加深自己对序列化和反序列化的理解,提前说明,你说我抄袭,我也不反驳。概念:序列化:将对象转换为字节序列的过程通俗来讲就是将你程序中的对象转换成能够被电脑存储的形式反序列化:将字节序列转换为对象的过程通俗来讲就是原创 2017-06-21 19:39:45 · 267 阅读 · 0 评论 -
冒泡排序
昨天面试,碰到的面试题,很久不写了,没写出来,挺糗的!冒泡排序是所有排序中相对简单的一种排序,所以对于新手来说,掌握一种排序方法会给你意想不到的惊喜。下面开始正题,冒泡排序的基本思想就是,两两相邻比较,如果反序则交换位置,知道没有反序为止。下面是代码,笔者把关键代码做了注释,希望对大家有所帮助。package bubble;public class Bubble {原创 2017-06-27 06:49:04 · 224 阅读 · 0 评论 -
快速排序方法
快速排序算法是对冒泡排序算法的一种改进,由于冒泡排序是对相邻的数据进行两两比较,元素的移动次数和比较次数都比较多,而快速排序是从记录序列的两端向中间进行的,所以元素的移动次数和比较次数上都较少了。快速排序的基本思想是,选定一个比较的基准,即轴值,将待排序的记录分割成独立的两个部分,左侧记录的关键码都小于或者等于轴值,右边的记录关键码都大于或等于关键码,然后对这两部分分别重复上述过程,直到整个序原创 2017-06-28 10:46:53 · 284 阅读 · 0 评论 -
面试的笔试题
10道经典java编程笔试题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少//这是一个菲波拉契数列问题public class lianxi01 {public static void main(String[] args) {System.out.println(原创 2017-11-09 09:44:54 · 176 阅读 · 0 评论 -
算术题 Java
10道算数题帮你学习java语句【程序1】题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数都是多少public classlianxi11 {public staticvoid main(String[] args) {int count = 0;for(int x=1;xfor(int y=1;yfor(int原创 2017-11-09 09:50:51 · 418 阅读 · 0 评论 -
Java 面试
125条常见的java面试笔试题大汇总1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现原创 2017-11-09 09:54:05 · 321 阅读 · 0 评论 -
springmvc工作原理
1、用户发送请求到前端控制器(DispatcherServlet)2、前端控制器到处理器映射器(HandlerMapping)请求查找Handler3、处理器映射器会返回一个执行链(HandlerExecutionChain)给前端控制器4、前端控制器根据执行链去处理器适配器(HandlerAdapter)查找Handler5、处理器适配器去执行所需原创 2017-10-25 08:54:26 · 332 阅读 · 0 评论 -
构造方法的简单说明
构造方法:作用:给对象的数据进行初始化格式特点:方法名和类型相同,没有返回值类型,没有返回值注意:开发者若不提供构造方法,系统会提供默认的构造方法,若已经提供了构造方法,系统将不会再提供默认的构造方法,在实际开发过程中永远要自己给出无参的构造方法友情提示:构造方法也是可以进行重载的构造方法对成员变量进行原创 2017-11-03 10:17:55 · 345 阅读 · 0 评论 -
重写equal 的同时为什么必须重写hashcode
hashCode是编译器为不同对象产生的不同整数,根据equal方法的定义:如果两个对象是相等(equal)的,那么两个对象调用 hashCode必须产生相同的整数结果,即:equal为true,hashCode必须为true,equal为false,hashCode也必须 为false,所以必须重写hashCode来保证与equal同步。class Student { int num;转载 2017-12-04 14:22:07 · 604 阅读 · 0 评论 -
当觉得自己的水平停滞不前的时候可以看看
一、数据结构与算法基础说一下几种常见的排序算法和分别的复杂度。 用Java写一个冒泡排序算法 描述一下链式存储结构。 如何遍历一棵二叉树? 倒排一个LinkedList。 用Java写一个递归遍历目录下面的所有文件。二、Java基础接口与抽象类的区别? Java中的异常有哪几类?分别怎么使用? 常用的集合类有哪些?比如List如何排序? Ar转载 2017-12-13 10:30:28 · 354 阅读 · 0 评论 -
Java中堆和栈的基本概念
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚转载 2017-12-22 09:50:21 · 366 阅读 · 0 评论 -
比较两个日期的大小
public static int compareDate(Date startDate, Date endDate) { long startTime = startDate.getTime(); long endTime = endDate.getTime(); if (startTime < endTime) { return -1; } i...原创 2019-06-26 18:12:00 · 1695 阅读 · 0 评论