
java基础
WindyLuo微渺
想脚踏实地做好一件事
展开
-
JVM复习(三)几种GC算法
1、引用计数法:没有被Java采用,通过引用计数来标识一个对象是否应该回收,对每一个对象都标记一个数量,一人使用就+1,两人使用就+2....,一旦释放就-1,以此类推。当一个对象引用数量为0,意味着无人使用就可以进行空间释放了。引用计数法问题:伴随着加法和减法,影响性能;很难处理循环引用问题。2、几大概念:根:栈中引用的对象;方法区中静态成员或者常量引用的对象;JNI方法栈中引用对象...原创 2019-10-20 10:40:28 · 194 阅读 · 0 评论 -
JVM复习(二)JMM内存模型1
简述:每个线程都有一个工作内存,它与主存独立,工作内存中存放主存变量的值的拷贝数据从主内存复制到工作内存时,有两个操作:1、对主内存执行读操作read2、对工作内存执行相应的装载load数据从工作内存拷贝到主内存时,有两个操作:1、工作内存执行存储store2、主内存执行相应的写操作write线程通信要通过主存,JMM通过控制主内存与每个线程的本地内存之间的交互,来为程...原创 2019-10-16 21:37:59 · 162 阅读 · 0 评论 -
JVM复习(一)启动流程和基本结构
JVM启动流程java命令接一个带有main方法的启动类 首先装载配置,根据版本号等信息查找JVM配置文件jvm.cfg 根据配置文件定位需要的dll(jvm.dll) 从dll初始化虚拟获得相关的接口(JNIEnv),比如findclass等 找到main方法并运行JVM基本结构PC寄存器:指向下一条指令的地址,每个线程拥有一个PC寄存器,在线程创建时创建,执行本地方法时,...原创 2019-10-16 11:39:54 · 169 阅读 · 0 评论 -
HashMap几个关键数据
hashMap初始容量:加载因子:树和链表的临界值:关于存两个相同值的问题,面试官很耐心帮我解释了一下,虽然并没有解决我的疑问,还是感谢他,虽然我到现在都没明白他想问什么,是想问解决hash冲突的方法吗?不是说了链表和红黑树的结构???当时我应该大胆问清楚,到现在也不知道他到底要问我什么。。。...原创 2019-10-13 20:47:20 · 183 阅读 · 0 评论 -
list扩容
今天常识答错了,扎心list默认1.8应该是10!10!10!10!扩容过程:容量:空为0,有数据则默认为10数组复制:新数组容量为原来得1.5倍原创 2019-10-13 20:30:11 · 223 阅读 · 0 评论 -
Json在前后台的转换和读取
jar包下载地址:https://sourceforge.net/projects/json-lib/提醒:springmvc添加一个ResponseBody注解即可将你发送给前台的数据转化为json格式;微信小程序发送给后台的数据默认为json格式,且只能接收json格式的数据再处理后台简单示例:import java.util.ArrayList;import java.util...原创 2019-08-28 17:17:38 · 180 阅读 · 0 评论 -
Echars之条形、折线、扇形统计图实例
Echars官网地址:https://echarts.baidu.com/Java后台返回json格式的数据方便作为图表的参数以进行交互纯前端demo:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Echars</title><sc...原创 2019-08-29 09:46:02 · 703 阅读 · 0 评论 -
POI之excel导入导出操作
一般会结合文件上传下载使用jar包下载地址:https://www-eu.apache.org/dist/poi/release/bin/poi-bin-4.1.0-20190412.zip里面提供了很多jar包,读写只引入了三个包:package excel;import java.io.File;import java.io.FileInputStream;impor...原创 2019-08-30 09:07:50 · 172 阅读 · 0 评论 -
邮件发送之commons-email
jar包下载地址:https://repo1.maven.org/maven2/javax/mail/mail/1.5.0-b01/mail-1.5.0-b01.jarhttps://www-eu.apache.org/dist//commons/email/binaries/commons-email-1.5-bin.zip以下实例均为QQ邮箱或网易邮箱测试,不同类型邮箱发送者参...原创 2019-08-30 21:01:55 · 1796 阅读 · 0 评论 -
文件上传下载
jar包下载地址:http://commons.apache.org/proper/commons-io/http://mirror.bit.edu.cn/apache//commons/fileupload/binaries/commons-fileupload-1.4-bin.zip上传实例:<!DOCTYPE html><html>&l...原创 2019-08-31 20:51:58 · 167 阅读 · 0 评论 -
单例模式几点思考
单例模式的主要特点是使用一个实例,那为什么不使用静态类:静态方法中产生的对象会在执行后被释放,被GC清理,不会一直存在于内存中,且静态方法会多次初始化和释放,占用资源 单例模式一般需要长存内存中,节约资源 静态一般用于全局范围访问,单例多见于工厂模式或者窗体等枚举方式,较为推荐枚举特点:不继承Object类,继承了Enum类,是一个抽象类;属性大写且必须位于前面;构造方法必须私有;可以...原创 2019-09-01 21:22:24 · 149 阅读 · 0 评论 -
XML文件操作(四)
DOM4J性能优异,功能强大,易用,下载地址:https://dom4j.github.io/写入操作,显示如下,有格式import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java....原创 2019-08-26 18:11:52 · 256 阅读 · 0 评论 -
XML文件操作(三)
JDOM解析操作使用Java语言编写的、用于读写操作XML的一套组件,jar包下载地址:http://www.jdom.org/downloads/index.html既可以快速读取也可以修改文件主要操作类:Document、DOMBuilder用来建立一个JDOM树、Element、Attribute元素中属性、XMLOutputter将JDOM结构树格式化为一个XML文件,并且以输出...原创 2019-08-26 17:02:55 · 278 阅读 · 0 评论 -
XML文件操作(二)
SAX(SimpleAPIs forXML)解析操作与DOM操作不同的是,SAX采用的是一种顺序的模式进行访问,且采用的是部分读取,是一种快速读取XML数据的方式,只能读取不能修改,使用SAX解析器进行操作时会触发一系列的事件主要事件:startDocument文档开始、endDocument文档结束、startElement元素开始、endElement元素结束、characters元...原创 2019-08-26 15:33:39 · 125 阅读 · 0 评论 -
JAVA基础复习(三)继承、多态、抽象类和接口
1、超类也称为父类或者基类,次类又称为子类或者拓展类、派生类。子类从它的父类中继承可访问的数据域和方法,还可以添加新数据域和新方法。2、继承:子类并不是父类的一个子集,子类比它的父类包含更多的信息和方法;父类中的私有数据域在该类之外是不可访问的;不是所有是一种关系都应该用继承来建模,但是继承是用来是为是一种关系建模的;java是单一继承的,即不应许多重继承3、关键字super指代父类,可以...原创 2018-10-26 21:48:00 · 227 阅读 · 0 评论 -
JAVA基础复习(一)小细节
1、区别大小写;小写字母命名变量和方法,多个单词,第一个单词字母小写,其余首字母大写;类名每个首字母大写;常量所有字母大写,单词间使用下划线连接;$用于机器自动产生的源代码中。2、%的计算,只有当被除数是负数时,余数才是负数3、整型默认int,浮点默认double,long追加L,float追加f/F4、默认十进制,二进制零B开头,八进制零开头,十六进制零X开头5、允许两个数字间使...原创 2018-10-24 23:15:59 · 151 阅读 · 0 评论 -
JAVA基础复习(四)异常和IO
1、不应该让方法来终止程序,应该由调用者决定是否终止程序,但是又要尽量使用if来进行简单测试而不是异常处理来测试2、异常是对象,而对象都采用类来定义,异常的根类是java.lang.Throwable3、异常类主要分为三种类型:系统错误(JAVA虚拟机抛出,免检异常)、异常(要被被捕获和处理)、运行时错误(程序设计错误,免检异常)4、如果方法类没有在父类中声明异常,那么就不能在子类中对...原创 2018-10-27 21:01:27 · 194 阅读 · 0 评论 -
JAVA基础复习(五)正则和枚举
1、正则表达式必知会那本小册子了解一下2、split,matches两个字符串方法了解一下3、enum可以和类、javabean比较理解一下4、算了,感觉没什么好说的,就这样吧...原创 2018-10-27 22:23:05 · 243 阅读 · 0 评论 -
JAVA基础复习(六)泛型和集合
1、泛型的优点是能在编译时检测出错误,一旦编译器认为泛型类型是安全使用的,就会将它转换为原始类型,泛型类或方法允许用户指定可以和这些类或方法一起工作的对象类型2、泛型类型必须是引用类型,不能使用int、double等基本类型来替代泛型集合3、泛型集合类的构造方法和普通类相同,定义一个泛型类需要将泛型类型放在类名之后,定义一个泛型方法需要将泛型类型放在方法之前4、调用泛型方法,需要将实际...原创 2018-11-06 14:59:17 · 280 阅读 · 0 评论 -
JAVA基础复习(七)多线程和网络
1、创建线程和任务,如://任务类必须实现Runnable接口public class TaskClass implements Runnable{ ... public TaskClass(...){ ... } //想要在该线程执行的任务 public void run(){ ... }......原创 2018-11-07 12:46:21 · 148 阅读 · 0 评论 -
JAVA基础复习(八)数据库程序设计
1、先学习简单SQL语句,可以通读数据库系统概论,程序设计后台建表建数据库很讲究。2、关系数据库系统都是基于关系数据模型的,这种模型有三个要素:结构【定义了数据的表示】、完整性【强加一些对数据的约束】和语言【提供了访问和操纵数据的手段】。3、关系模型是围绕着一个简单自然的结构建立的,一个关系实际上是一个没有重复行的表格。表的一行表示一条记录,一行称为一个元组,一列称为一个属性。4、完整...原创 2018-11-07 22:09:50 · 197 阅读 · 0 评论 -
对文件的操作,例:properties
/** * 操作配置文件 * @author LuoPiao * */public class MyProperties { //创建文件 public static boolean createProperties(String filePath,String name,String password,String money){ OutputStream out=nu...原创 2019-08-22 10:08:54 · 119 阅读 · 0 评论 -
MD5加密工具类
/** * MD5加密 * @author LuoPiao * */import java.security.MessageDigest;public class Md5Class { // 传入一个明文字符串,返回加密后的md5字符串,16位 public static String stringToMd5(String info) { char hexDigits[] ...原创 2019-08-22 10:13:50 · 151 阅读 · 0 评论 -
浅谈反射使用
反射的实现主要通过以下四个类:Class:类的对象,Constructor:类的构造方法,Field:类中的属性对象,Method:类中的方法对象获取Class对象的三种方法:Class.forName(类名全称即包含了包名),类名.class,实例.getClass()注意:类的加载信息只会在永久代里留存一份,所以同一个对象不管是通过forName还是class或者getClass方...原创 2019-08-22 14:56:35 · 136 阅读 · 0 评论 -
XML文件操作(一)
DOM解析操作在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(DOM树),通过对这个对象模型的操作来实现对XML文档数据的操作 通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,这种利用DOM接口的机制也被称作为随机访问机制 利弊:DOM树所提供的随机访问方式给应用程序开发带来了很大的灵活性,然而,在文档比较大或结构比较复杂时,对内存的需...原创 2019-08-26 13:59:10 · 175 阅读 · 0 评论 -
JAVA基础复习(二)类、方法、字符串
1、类使用变量定义数据域,使用方法定义动作,构造方法为了完成初始化动作2、构造方法三个特征:具备和所在类相同的名字;没有返回值类型,连void也没有;在创建一个对象使用new操作符时调用,可以有多个同名的构造方法要有不同的参数列表3、引用型数据域默认值是null,数值型数据域默认值是0,boolean型数据域默认值是false,char型数据域默认为'\u000',但是JAVA没有给方法中...原创 2018-10-25 23:14:36 · 127 阅读 · 0 评论