
《JAVA基础》
主要记录JAVA基础知识为主。
CoderBruis
菜是原罪
展开
-
深入分析 Java I/O 的工作机制
最近国内疫情已逐渐趋于稳定,我也要回归优快云了,项目代码实操要跟上,专业知识原理的学习也不能落下。在学习Java IO工作机制时,发现一片写的非常好的博文,为了避免重复造轮子,遂拿来作为转载文章,以供自己学习。https://www.ibm.com/developerworks/cn/java/j-lo-javaio/Java 的 I/O 类库的基本架构I/O 问题...转载 2020-04-30 11:24:47 · 342 阅读 · 0 评论 -
Java代码访问url,并返回json串之实现方法
在项目开发中,需要在控制器中访问url接口,并得到json串,将得到的json串用于jsp页面。这里总结一下在java代码中分别进行get和post的url访问。需要准备一下jar包:org.apache.http.HttpEntity;org.apache.http.HttpResponse;org.apache.http.client.ClientProtocolException;org.a...原创 2018-05-29 17:57:49 · 3393 阅读 · 0 评论 -
整数溢出,如何判断整数溢出
c语言中存在两类整数算术运算,有符号运算和无符号运算。在无符号运算里,没有了符号位,所以是没有溢出的概念的。所有的无符号运算都是以2的n次方为模。如果算术运算符的一个操作数是有符号书,另一个是无符号数,那么有符号数会被转换为无符号数(表示范围小的总是被转换为表示范围大的),那么溢出也不会发生。但是,当两个操作数都是有符号数时,溢出就有可能发生。而且溢出的结果是未定义的。当一个运算的结果发生溢出时,...转载 2018-05-30 13:18:51 · 9099 阅读 · 0 评论 -
关于部署项目到tomcat,报FAIL - Application at context path /JDYProject could not be started
最近将打包好的项目部署到linux服务器上的tomcat的webapps目录下,然后访问项目index.jsp,发现一直报404错误。检查了项目,发现项目在本地IDE下,运行正常。然后把目光聚集于tomcat上。打开tomcat服务器首页,然后点击进入Manager App,手动打开项目。结果发现,项目Running状态为false。所以尝试了一下手动Start项目。结...原创 2018-07-31 16:19:11 · 6189 阅读 · 1 评论 -
深入理解并总结一波Java类加载过程
编程语言发展的大步发展——代码编译的结果,从本地机器码变为字节码从Java类到JVM执行Class文件Java类会被编译为Class文件,这里,编译的过程先不去具体了解,Class文件中存储的各种信息,包括魔数、Class文件的版本、常量池、访问标志、字段表集合等等重要信息,都需要被加载到JVM中之后才能运行和使用。虚拟机会将Class文件中的描述类的数据加载到内存中,然后对数据进行校验、转...原创 2018-12-22 15:08:34 · 327 阅读 · 0 评论 -
深入学习Java volatile关键字
前言在学习volatile之前,先需要了解并发编程的一些基础概念。并发编程的目的是为了让程序运行得更快,但是,并不是启动的线程越多就能让程序大幅度的并发执行。因为在实际开发中,并发编程将会面临大量的问题,比如上下文切换问题、死锁问题,以及受限于硬件和软件资源限制问题。上下文切换时间片是CPU分给各个线程的时间,因为时间片非常短,所以CPU将会在各个线程之间来回切换从而让用户感觉多个程序...原创 2019-01-04 09:56:03 · 301 阅读 · 0 评论 -
Java内存区域和常量池总结
运行时数据区运行数据区包含以下几个区域:方法区(Method Area)Java堆(Heap)本地方法栈(Native Method Stack)虚拟机栈(VM Stack)程序计数器(Program Conter Register)其中方法区和堆是所有线程共享的数据区,而其他三个区收拾线程隔离的数据区。Java虚拟机在执行Java程序的过程中将它管理的内存划分为若干个不同的区...原创 2018-12-24 22:46:42 · 1055 阅读 · 0 评论 -
深入学习String源码与底层(二)
前言不想成为一个只会使用API的攻城狮,也不甘于现状想深入学习JDK源码。【版本JDK1.8】在前一篇文章中,已经对String的创建和String在常量池中的对应关系进行了讲解,本片将继续深入String的源码学习。正文1. String的equals方法String源码的equals方法如下: public boolean equals(Object a...原创 2019-07-12 15:09:24 · 439 阅读 · 0 评论 -
《Java编程思想》读书笔记-第18章JavaI/O系统(1)
Q1:System.err.println()是什么意思?输出的内容在哪里显示?与System.out.println()有和区别?A1:System是一个类,其定义为如下,它不能被实例化java.lang.Systempublic final class System extends Object其中 System类有三个字段:err是运行时异常和错误反馈原创 2017-07-23 18:52:02 · 430 阅读 · 0 评论 -
Java分层设计(DAO设计模式)—JUnit测试
本篇用于对Java分层设计(DAO设计模式)的测试所使用过。一、选中IDeptService右键-NEW-JUnit Test Case创建在cn.mldn.test.junit包下二、点击next,选中全部三、点击OK,选中导入JUnit包四、添加测试代码package cn.mldn.test.junit;import翻译 2017-06-12 16:43:39 · 1058 阅读 · 0 评论 -
Java 分层设计(DAO设计模式)
此文章是本人学习mldn魔乐科技DAO设计模式教学视频后,总结下来,用于复习使用,在这里感谢mldn的学习视频。DAO设计模式?DAO全称是(Data Access Object,数据库访问对象),主要功能就是用于进行数据操作的,在程序的标准开发架构中属于数据层的操作。简要介绍一下企业分层架构:显示层:主要使用JSP/Servlet进行页面效果的显示业务层:(Busin翻译 2017-05-25 13:44:10 · 20689 阅读 · 3 评论 -
初学如何用eclipse安装SVN插件
先从网上下载好SVN插件,我用的是site-1.8.10,百度一下就能下载得到,然后打开site-1.8.10的压缩包,如图:选中features和plugins文件,然后解压至eclipse的安装目录下,覆盖原有的features和plugins文件。如图:覆盖好以后,然后就打开eclipse(已经打开eclipse的需要重新启动eclipse)。然后点开window原创 2017-04-10 14:59:14 · 584 阅读 · 0 评论 -
初学正则表达式
正则表达式就是以某种方式来描述字符串,例如,要找一个数字,它可能有一个负号在最前面,那么你就写一个负号加上一个问号,就像这样:-?正则表达式是强大而灵活的文本处理工具。使用正则表达式,我们能够以编程的方式,构造复杂的文本模式,并且对输入的字符串进行搜索。下面,我们就来学学如何使用正则表达式吧。这里注意,在Java中,对反斜线\有不同的处理。而其他语言,\\表示在正则表达式中插入一个普通原创 2017-04-11 11:46:58 · 443 阅读 · 0 评论 -
Java Scanner类中有关Readable的使用与有关介绍
Java SE5的Scanner类的构造器可以接受一个Readable接口。Scanner(Readable source) 构造一个新的 Scanner,它生成的值是从指定源扫描的。可以发现Readable是单独为Scanner创建的,因为Readable没用用做JAVA标准类库中其他任何方法的参数,因此Scanner不必将其参数限制为某个特定的类。那么R原创 2017-03-30 15:56:03 · 1275 阅读 · 0 评论 -
Java 的初始化及类的加载
程序是作为启动过程的一部分立即被加载,然后就是初始化,最后就是程序的运行了。可以不恰当的表示为 程序的加载--->初始化--->程序开始运行。那类什么时候被加载呢? 一般就是在类的代码在被使用时才会加载,这通常是指加载发生在创建类的第一个对象时,但是当访问static域static 方法时,也会加载。加载之后就是初始化了,也就该到了static初始化的发生。所有的static对象和stati原创 2017-03-28 23:10:57 · 354 阅读 · 0 评论 -
Java static修饰的方法中不能使用this、super关键字
首先,Java中可以使用static声明属性或方法,如果现在希望一个属性被所有对象所共同拥有,则可以将其声明为static类型, 声明static类型的属性或方法之后此属性或方法也称为类方法,可以有类名称直接调用。而其中,static修饰方法后,该方法 也就随着类的加载而加载,也就是说该方法属于类调用了,不能用于对象调用。而在方法中定义的this关键字,用于代替当前 对象的原创 2017-03-08 17:26:36 · 3326 阅读 · 0 评论 -
Java IO底层原理
转自:http://www.importnew.com/14111.html目录缓存处理和内核vs用户空间虚拟内存内存分页面向文件、块的I/O文件锁定面向流的I/O缓存处理和内核vs用户空间缓冲与缓冲的处理方式,是所有I/O操作的基础。术语“输入、输出”只对数据移入和移出缓存有意义。任何时候都要把它记在心中。通常,进程执行操作系统的I/O请求包括数据从缓冲区转载 2017-05-20 23:27:56 · 4741 阅读 · 0 评论 -
Eclipse实用快捷键个人总结
1. 快捷键添加注释alt+shift+j---添加注释,点击要进行注释的方法,类然后按快捷键。Eclipse Java注释模板设置方法,打开Eclipse:Window->Preference->Java->Code Style->Code Template,然后展开Comments节点就是所有需设置注释的元素啦。边学习边总结,持续更新...原创 2017-05-21 15:58:42 · 519 阅读 · 0 评论 -
IO流总结
字节流与字符流的区别字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的。原创 2017-06-30 17:44:36 · 320 阅读 · 0 评论 -
Java内部类
所谓的内部类,就是将一个类定义到另一个类的定义内部。这里引入一个词——嵌套类,嵌套类包括静态嵌套类和非静态嵌套类(内部类),这里的非静态嵌套类就是内部类,而嵌套类呢在接下来的介绍中会讲到。对于内部类(非静态嵌套类),可以分为三种:(1) 局部内部类(2) 匿名内部类(3) 成员内部类接下来看看内部类的创建方式:一、创建局部内部类。/* * 局部内部类的创建 * */原创 2017-04-06 15:57:44 · 433 阅读 · 0 评论