JAVASE
学以致用HT
IT菜鸟。学有所思,学以致用,学无止境。
展开
-
语法糖
语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。解语法糖前面提到过,语法糖的存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖,这些语法糖在编译阶段就会被还原成简单的...原创 2019-10-24 16:22:53 · 188 阅读 · 0 评论 -
文件系统的读写过程
系统调用操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境,但是计算机系统的各种硬件资源是有限的,因此为了保证每一个进程都能安全的执行。处理器设有两种模式:“用户模式”与“内核模式”。一些容易发生安全问题的操作都被限制在只有内核模式下才可以执行,例如I/O操作,修改基址寄存器内容等。而连接用户模式和内核模式的接口称之为系统调用。应用程序代码运行在用户模式下,当应用程序需要...转载 2019-04-21 18:06:52 · 1398 阅读 · 0 评论 -
Java内存区域和GC机制
一、Java内存区域其中:1,程序计数器(Program Counter Register):程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,可以理解为是当前线程的行号指示器。字节码解释器在工作时,会通过改变这个计数器的值来取下一条语句指令。 每个程序计数器只用来记录一个线程的行号,所以它是线程私有(一个线程就有一个程序计数器)的。 如...转载 2019-03-27 20:39:28 · 279 阅读 · 0 评论 -
常见的5种IO模型
Unix下五种I/O模型:1)阻塞I/O(blocking I/O)2)非阻塞I/O (nonblocking I/O)3)I/O复用(select 和poll) (I/O multiplexing)4)信号驱动I/O (signal driven I/O (SIGIO))5)异步I/O (asynchronous I/O (the POSIX aio_functions))前四种...转载 2019-03-01 20:49:25 · 569 阅读 · 0 评论 -
解决JDBC中日期和文件类型的问题
1.解决了mysql中日期类型的写入和读取转换问题;2.解决了mysql中文本类型的写入和读取的问题;3.java.util.Date和java.sql.Date的转换问题。项目目录:数据库表结构:1.数据库配置文件jdbc.propertiesdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql:/...原创 2019-02-28 10:29:31 · 214 阅读 · 0 评论 -
DBUtils和C3P0的使用
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。关于DBUtils的单独使用可以参考:https://blog.csdn.net/qq_40348465/article/details/8366...原创 2019-02-28 10:13:03 · 2182 阅读 · 0 评论 -
JAVA中对浮点数精度控制的几种方法
方法一:使用BigDecimal类中的setScale方法BigDecimal a = new BigDecimal("3.1415926");a = a.setScale(3, BigDecimal.ROUND_HALF_UP); // 返回一个新的大浮点数对象,保留小数点后3位,且指定为四舍五入System.out.println(a); // 输出3.142方法二:使用Stri...原创 2019-02-23 15:13:47 · 1313 阅读 · 0 评论 -
XML解析---DOM解析和SAX解析
XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。 对于XML的解析,还有一些方便的XML解析工具,如JAXB、XStream这样的解析工具,它们利用注解、反射等非常方便地帮助我们实现从XML解析为Java对象,还有如Dom4j,它是一个易用的、开源的库,特别...原创 2018-11-29 19:10:13 · 304 阅读 · 0 评论 -
两种JAVA生成带logo二维码的方法
一、方法一 只使用一个zxing.jar生成二维码,下载地址http://central.maven.org/maven2/com/google/zxing/core/ 项目目录 QRCodeUtil.java(用于生成二维码的工具类)impo...原创 2018-11-29 19:16:12 · 859 阅读 · 1 评论 -
==和equals()和compareTo()的简单对比
1.==比较的是地址,用equals()比较八大包装类时比较的是值(但是在用equals()比较自定义的对象时比较的依然是引用地址,若要比较值,需要重写equals()) 上述代码中虽然str1和str2的值均为"abc",但是这里因为它们是两个对象,其地址不一样,所以在用==来比较时结果是false。 2.compareTo()是按照字典的顺序来比较字符串,如果...原创 2018-11-03 00:01:00 · 3774 阅读 · 3 评论 -
简单重写equals()和hashCode()
1.为什么要重写equals()? 因为我们在用equals()来比较两个对象时,默认是用==来比较,比较的是两个对象的地址,所以如果我们想通过比较两个对象的值来确定两个对象是否相同,则需要重写equals()。 Object.class中的源码: * @param obj the reference object with which to...原创 2018-11-13 14:52:02 · 144 阅读 · 0 评论