Java基础
_仰望月空
这个作者很懒,什么都没留下…
展开
-
运行时异常与检查异常区别
首先,思考一个问题,看下面三个代码,当抛出异常时,后面的代码还会运行吗,是否要在异常后加上return语句?//代码1public static void test() throws Exception { throw new Exception("参数越界"); System.out.println("异常后"); //编译错误,「无法访问的语句」}//代码2...原创 2020-03-24 16:21:16 · 2280 阅读 · 0 评论 -
Java自动装箱拆箱
1.抛出问题(一次NullPointerException带来的思考)遇到这样一个场景,代码类似如下:一个Controller,使用GET方法获取参数id对应的数据 @RequestMapping(value = "/home/show", method = {RequestMethod.GET}) public Result homeShow(@RequestPara...原创 2020-03-24 16:18:46 · 331 阅读 · 0 评论 -
【java内存泄漏5种情况总结】
内存泄漏定义:一个不再被程序使用的对象或变量还在内存中占有存储空间。由于java的JVM引入了垃圾回收机制,垃圾回收器会自动回收不再使用的对象,了解JVM回收机制的都知道JVM是使用引用计数法和可达性分析算法来判断对象是否是不再使用的对象,本质都是判断一个对象是否还被引用。那么对于这种情况下,由于代码的实现不同就会出现很多种内存泄漏问题(让JVM误以为此对象还在引用中,无法回收,造成内存泄漏)。1...原创 2018-05-06 21:57:49 · 3549 阅读 · 0 评论 -
【java类加载机制研究】结合一道经典的面试题讲解
1.开门见山以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样。题目如下:class SingleTon { private static SingleTon singleTon = new SingleTon(); public static int count1; public static int count2...转载 2018-05-06 19:57:09 · 299 阅读 · 0 评论 -
http 请求中的 referer
浏览器在向 web 服务器发送一个 http 请求的时候,服务器会把 http 的请求包装成一个 request 对象,在这些请求里面就包括 referer,它的意思是要告诉服务器,该请求来自哪里。比如在一个网页里面插入一个超链接,链接到其他的网页,那么当点击这个超链接从而链接到另外一个页面的时候,相当于浏览器向 web 服务器发送了一个 http 请求,对于另外一个页面而言,这个 referer...转载 2018-03-14 22:30:33 · 1758 阅读 · 0 评论 -
三种常见字符编码简介:ASCII、Unicode和UTF-8
什么是字符编码? 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。转载 2018-01-17 16:32:25 · 335 阅读 · 0 评论 -
【java基础】父类与子类中各成员初始化顺序
java中子类与父类的初始化顺序每次遇到都会想一想,尤其是遇到复杂的子类与父类中多态和方法重载交织在一起的时候,但是总结一下,还是那个特定的规律。看个例子吧。class Egg{ static{ System.out.println("父类静态代码块初始化"); } private int a = 1; { System.out.println("父类代原创 2017-11-03 11:08:16 · 987 阅读 · 0 评论 -
【Java基础】equals和==的区别以及Integer(-128~127)值的==和equals比较
Java中equals和==的区别java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类)当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的转载 2017-11-08 21:14:07 · 550 阅读 · 0 评论 -
【java基础】怎样结束控制台输入
当使用Scanner(System.in)获取控制台输入时,一般都是以这样的方式,举一个例子,如当控制台输入不是"-"时,就将其压入栈中,当输入为"-",栈不为空则弹出。其中的while(in.hasNext())永远为真,最后的语句永远无法执行。import java.util.Scanner;import java.util.Stack;public class InTest原创 2017-10-09 22:15:14 · 15201 阅读 · 5 评论 -
Java多线程学习(超详细总结)
转自:http://www.mamicode.com/info-detail-517008.html目录(?)[-]一扩展javalangThread类二实现javalangRunnable接口三Thread和Runnable的区别四线程状态转换五线程调度六常用函数说明使用方式为什么要用join方法七常见线程名词解释八线程同步九线程数据传递 本文主要转载 2017-09-26 11:12:22 · 395 阅读 · 0 评论 -
【科大讯飞2017年笔试题】课程冲突
题目:课程冲突小明是一名学生,又到了学校的选课时间,他想选一些课程学习,已知课程开课时间都在周一到周五之内,早上4节课,晚上2节课。小明担心选课时间上有所冲突,所以他希望可以对课程时间进行检查。输入:首先输入一个整数n(0之后输入n行选课信息,每行选课信息有2个数字,前一位用0到4表示周一到周五,后一位用0到9表示从早到晚顺序第几讲课,如12表示礼拜2第3讲课。01表示礼拜原创 2017-09-18 10:18:30 · 9773 阅读 · 1 评论 -
【Java基础】list转为Integer[]、list转为int[]、Integer[]转为int[]、int[]转为Integer[]
list转为Integer[]:通过List的toArray()方法转换,具体见下面代码list转为int[]:1、通过list的toArray()方法转成Integer[]型再一个个转成int[]型;2、直接从list中读出来,一个一个转成int[]型Integer[]转为int[]:一个一个转int[]转为Integer[]:一个一个转public class In原创 2017-09-07 10:38:58 · 4708 阅读 · 0 评论 -
【java基础】collection接口中toArray()的使用方法
Collection接口中有两种toArray()方法 两种方法从集合转换成数组,但是实现上有不同第一种用法:一个ArrayList转换成String型数组Collection coll = new ArrayList();String[] str= coll.toArray(); 第二种用法:同样,一个ArrayList转换成String型数组,与上原创 2017-09-07 10:03:24 · 6053 阅读 · 3 评论