
JAVA核心知识点
简单的角度来验证功底,通过一些简单的例子来说明我们应当如何去掌握Java的基础;关于计算机的工作原理和Java虚拟机的基础知识;
pengjunlee
不学自知,不问自晓,古今行事,未之有也。
展开
-
Java float保留两位小数或多位小数
方法1:用Math.round计算,这里返回的数字格式的.floatprice=89.89;intitemNum=3;floattotalPrice=price*itemNum;floatnum=(float)(Math.round(totalPrice*100)/100);//如果要求精确4位就*10000然后/10000方法2:用DecimalFormat 返回的是St...转载 2020-02-05 14:45:50 · 10743 阅读 · 0 评论 -
java执行bat脚本和shell脚本并传入参数
之前想着在windows下和linux下调用一些python Scrapy的接口,发现路径问题,传参数问题都挺麻烦,遂改为在bat文件和shell中具体写方法,然后执行他们就好了1.执行bat脚本(1)传入参数bat处理文件中可引用的参数为%0~%9,%0是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参,例如:新建一个文件test_argv.bat,文件内...转载 2019-05-27 18:15:02 · 33016 阅读 · 0 评论 -
JAVA核心知识点--Maven引入org.apache.tools.zip
可以看出 org.apache.tools.zip 是 ant-**.jar里面的。所以要引入org.apache.tools.zip,直接maven引入ant即可。 <!-- https://mvnrepository.com/artifact/org.apache.ant/ant --> <dependency> ...转载 2019-11-20 09:11:08 · 12562 阅读 · 0 评论 -
JAVA核心知识点--清空整个文件夹(目录)
目标:清空整个文件夹条件:file类、递归方法备注:在Java中,如果想要删除一个文件夹,那么必须确保该文件下已被清空代码package May.Eighth.File;import java.io.File;/** * 删除文件和目录(文件夹) * @author Jia * */public class DeleteFileAndDirectory { publi...转载 2019-11-20 09:06:37 · 825 阅读 · 0 评论 -
JAVA核心知识点--使用net.sf.json遍历Json数组
使用net.sf.json遍历Json数组import org.junit.Test;import java.util.Iterator;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JsonArrayTest { @SuppressWarnings("unchecked") @...原创 2019-04-05 15:44:49 · 31542 阅读 · 0 评论 -
JAVA核心知识点--HttpClient获取302响应中的Location头信息
HttpClient获取302响应中的Location头信息 public static String getLocationUrl(String url) { RequestConfig config = RequestConfig.custom().setConnectTimeout(50000).setConnectionRequestTimeout(10000).setSocke...原创 2019-04-05 15:42:27 · 37697 阅读 · 3 评论 -
JAVA核心知识点--对数组进行初始化填充
对数组进行初始化填充import java.util.Arrays;public class ArrayFilling { public static void main(String[] args) { int[] scoreArr = new int[8]; // 创建一个大小为8的数组 Arrays.fill(scoreArr, 0); // 将数组使用数字 0 进...原创 2019-04-05 15:36:57 · 30338 阅读 · 0 评论 -
JAVA核心知识点--打包 FatJar 方法小结
目录什么是 FatJar三种打包方法1. 非遮蔽方法(Unshaded)2. 遮蔽方法(Shaded)3. 嵌套方法(Jar of Jars)小结参考阅读原文地址:https://yq.aliyun.com/articles/630208?utm_content=m_1000014409在函数计算(Aliyun FC)中发布一个 Java 函数,往往需要将函数打...转载 2019-01-16 14:48:40 · 35713 阅读 · 0 评论 -
JAVA核心知识点--二进制文件与十六进制字符串转化
本工具类主要用来将二进制文件读取并转换成十六进制字符串,并提供了将十六进制字符串还原为二进制文件的方法。import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io....原创 2017-12-14 17:45:17 · 50925 阅读 · 0 评论 -
JAVA核心知识点--Stack
原文地址:https://www.cnblogs.com/chenssy/p/3833341.html在Java中Stack类表示后进先出(LIFO)的对象堆栈。栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的。每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,如下:Stack通过五个操作对Vector进行扩展,允许将向量视为堆栈。这个五个操作如下: ...转载 2019-03-01 15:28:49 · 28834 阅读 · 0 评论 -
JAVA核心知识点--使用org.json.JSONObject处理Json数据
目录引入org.json依赖构建JSONObject直接构建使用Map构建使用JavaBean构建解析JSONObject引入org.json依赖在 maven 项目中使用 org.json ,需引入依赖: <!-- 引入org.json所需依赖 --> <dependency> <groupId>org.jso...原创 2018-11-12 09:00:37 · 132389 阅读 · 7 评论 -
JAVA核心知识点--元注解详解
目录Annotation(注解)meta-annotation(元注解)@Target注解@Retention注解@Documented注解@Inherited注解注解应用举例Annotation(注解)从JDK 1.5开始, Java增加了对元数据(MetaData)的支持,也就是 Annotation(注解)。注解其实就是代码里的特殊标记,它用于替代配...原创 2018-03-25 08:25:34 · 75428 阅读 · 11 评论 -
JAVA核心知识点--JDK1.8中的日期处理
目录在Java 8中如何处理日期和时间示例 1、在Java 8中获取今天的日期示例 2、在Java 8中获取年、月、日信息示例 3、在Java 8中处理特定日期示例 4、在Java 8中判断两个日期是否相等示例 5、在Java 8中检查像生日这种周期性事件示例 6、在Java 8中获取当前时间示例 7、如何在现有的时间上增加小时示例 8、如何计算一周后的日期...转载 2017-12-12 19:22:54 · 58515 阅读 · 0 评论 -
JAVA核心知识点--路径的获得
目录一、相对路径的获得二、类加载目录的获得(即当运行某一类时获得其装载目录)三、web项目根目录的获得(发布之后)四、classpath的获取(在Eclipse中为获得src或者classes目录的路径)五、属性文件的读取一、相对路径的获得说明:相对路径(即不写明到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)String relativ...转载 2017-10-20 10:14:41 · 76330 阅读 · 0 评论 -
JAVA核心知识点--try、catch、finally语句块中的return语句
目录情况一:try中有return,catch和finally中没有return情况二:try和finally中都有return情况三:将情景一中的返回值类型改为引用类型结论参考文章对于做Java开发的程序员来说,异常捕获似乎已经是再稀松平常不过的事情了。我们都已经清楚的了解到:在try-catch-finally语法结构中无论异常是否发生,finally语句块中的内容都会...原创 2017-08-29 14:47:07 · 48814 阅读 · 0 评论 -
JAVA核心知识点--Instrumentation
目录Instrumentation 的基本功能和用法Java SE 6 的新特性:虚拟机启动后的动态 instrument利用 Java 代码,即 java.lang.instrument 做动态 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能从本地代码中解放出来,使之可以用 Java 代码的方式解决问题。使用 Inst...转载 2017-05-24 23:13:41 · 49074 阅读 · 1 评论 -
JAVA核心知识点--本地方法
目录一. 什么是本地方法二.为什么要使用本地方法三.JVM怎样使本地方法跑起来一. 什么是本地方法简单地讲,一个本地方法(Native Method)就是一个Java调用非java代码的接口。一个本地方法是这样一个java方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告...转载 2017-04-19 10:10:27 · 50151 阅读 · 0 评论 -
JAVA核心知识点--使用Dom4j解析XML
目录一、Dom4j简介二、文件下载三、在Java中使用Dom4j解析XML创建Document对象操作节点对象操作节点对象的属性保存Document对象到XML文件字符串与XML转换一、Dom4j简介dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极...原创 2017-08-09 10:28:23 · 45031 阅读 · 1 评论 -
JAVA核心知识点--MD5加密
目录MD5简介在java中使用MD5MD5简介MD5即Message-Digest Algorithm 5(信息-摘要算法第五版),是一种在计算机安全领域被广泛使用的散列函数(又译杂凑算法、摘要算法、哈希算法),用于确保所加密的数据的信息完整性和一致性。将数据(如文本、压缩包等)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5的作用是让大...原创 2017-08-09 16:27:52 · 42731 阅读 · 1 评论 -
JAVA核心知识点--Base64编码与解码
目录Base64简介BASE64编码原理Java实现BASE64反射使用commons-codec.jar使用sun.misc.BASE64Encoder和sun.misc.BASE64DecoderBase64简介Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二...原创 2017-08-09 21:00:02 · 46635 阅读 · 0 评论 -
JAVA核心知识点--字符编码
目录为什么要编码?常用编码格式ASCII码ISO-8859-1GB2312GBKUTF-16UTF-8在I/O操作中存在的编码在内存操作中的编码在Java Web中涉及的编解码URL的编解码HTTP Header的编解码POST表单的编解码HTTP BODY的编解码在JS中的编码问题外部引入JS文件JS的URL编码es...原创 2017-06-18 16:47:13 · 43245 阅读 · 1 评论 -
JAVA核心知识点--IO流
目录一、JavaIO流的分类输入流和输出流字节流和字符流节点流和处理流二、InputStream,OutputStream,Reader和Writer三、节点流四、处理流缓冲流转换流数据流Print流Object流五、流操作的典型示例在Java中,对于数据的输入/输出(I/O)操作以“流”(stream)方式进行,数据的来源可以是文件、网...原创 2017-03-25 22:02:03 · 48921 阅读 · 0 评论 -
JAVA核心知识点--Thread线程基础
目录一、什么是线程?二、线程的创建继承java.lang.Thread类实现java.lang.Runnable接口三、线程的状态四、线程的基本方法和属性五、线程资源共享示例一、什么是线程?线程是一个程序的多个执行路径,执行调度的单位,依托于进程而存在。 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统...原创 2017-03-26 17:37:49 · 53899 阅读 · 3 评论 -
JAVA核心知识点--RMI
目录创建远程服务创建远程服务接口实现远程服务接口使用rmic产生stub和skeleton启动RMI registry(执行rmiregistry)启动远程服务客户端如何取得stub对象?参考书籍:《Head First Java (中文版)》第二版Java的远程方法调用 (Remote Method Invocation,RMI)技术,能够帮助我们实现:...原创 2017-06-05 22:26:56 · 40959 阅读 · 1 评论 -
JAVA核心知识点--利用ShutdownHook释放系统资源
目录ShutdownHook执行原理ShutdownHook适用场景参考书籍:《Java特种兵(上册)》当发生 System.exit(int status) 时,希望在系统退出前,执行一点任务来做一些资源方面的回收操作,ShutdownHook 可以达到这个目的,它利用 hook 的思路来实现,有些时候也把它叫作“钩子”。假如在系统中通过 Runtime.getRuntim...原创 2017-06-02 16:33:53 · 47889 阅读 · 1 评论 -
JAVA核心知识点--Future
参考书籍:《Java特种兵(上册)》接口 Future<V>可用于获取异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。计算完成后只能使用 get() 方法来获取结果,如有必要,计算完成前可以阻塞此方法。取消则由 cancel() 方法来执行。还提供了其他方法,以确定任务是正常完成还是被取消了。一旦计算完成,就不能再取消计算。如果为了可取消性而使...原创 2017-06-02 19:06:29 · 45748 阅读 · 0 评论 -
JAVA核心知识点--Zip压缩工具类(一)(解决中文乱码)
在Java项目中需要对文件夹的内容进行Zip压缩,参考了网上的代码并修复了里面的一些问题,例如:中文乱码、媒体文件解压后损坏。所使用的Jar包:ant-*.*.*.jar和log4j-*.*.*.jar,示例工程的优快云下载地址:http://download.youkuaiyun.com/download/pengjunlee/10043076。ZipUtil工具类源码import ja...原创 2017-10-19 17:22:08 · 44614 阅读 · 0 评论 -
JAVA核心知识点--使用Gson处理Json数据
Gson简介Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,用于序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象。目前,在Java中处理JSON数据的类库中有以下三个比较流行:FastJSON、Gson和Jackson。与FastJSON和Jackson相比,Gson虽然在性能方面略显不足,但在功能上,它无疑是三者之中功能...原创 2017-09-13 22:56:23 · 50071 阅读 · 0 评论 -
JAVA核心知识点--获取HttpServletRequest请求Body中的内容
在实际开发过程中,经常需要从 HttpServletRequest 中读取HTTP请求的body内容,俗话说的好”好记性不如烂笔头“,特在此将其读取方法记录一下。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import javax.servlet.Servle...原创 2018-03-01 19:52:41 · 131443 阅读 · 8 评论 -
JAVA核心知识点--使用HttpURLConnection通过Post方式访问webservice接口
本文以获取天气预报webservice接口为例,使用HttpURLConnection通过发送SOAP消息格式内容来请求webservice接口。天气预报接口地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdlimport java.io.BufferedReader;import java.io.In...原创 2018-01-26 22:27:01 · 63835 阅读 · 12 评论 -
JAVA核心知识点--为图片添加水印
在实际项目开发过程中经常会需要给图片添加上水印,俗话说的好:“好记性不如烂笔头“,在此对其实现方法做下笔记。package com.pengjunlee.watermark;import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;im...原创 2018-01-26 22:25:15 · 46604 阅读 · 0 评论 -
JAVA核心知识点--使用Quartz进行作业任务调度
目录1、设置开始时间2、设置结束时间3、简单触发器4、Cron触发器5、作业监听器6、启动多个作业7、查看所有作业8、手动触发作业9、传递参数10、取消/删除作业11、作业出错时自动再执行12、JWatch - A Quartz Monitor13、CronMaker - Cron表达式生成器14、相关资源下载Quartz 是一个完全...转载 2017-12-03 12:58:57 · 46602 阅读 · 0 评论 -
JAVA核心知识点--使用lombok消除冗余代码
目录一、项目背景二、eclipse安装lombok三、项目中使用lombok四、原理分析五、支持lombok的编译工具六、常用lombok注解七、其他问题八、lombok的罪恶参考文献:一、项目背景在写Java程序的时候经常会遇到如下情形:新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法。...转载 2017-12-01 23:29:09 · 54955 阅读 · 0 评论 -
JAVA核心知识点--Zip压缩工具类(三)(解决中文乱码)
在Java项目中需要对文件夹的内容进行Zip压缩,参考了网上的代码并修复了里面的一些问题,例如:中文乱码、媒体文件解压后损坏。所使用的Jar包:ant-*.*.*.jar和log4j-*.*.*.jar,示例工程的优快云下载地址:http://download.youkuaiyun.com/download/pengjunlee/10124740ZipUtil工具类源码import ...原创 2017-11-19 16:35:19 · 47369 阅读 · 0 评论 -
JAVA核心知识点--Zip压缩工具类(二)(解决中文乱码)
在Java项目中需要对文件夹的内容进行Zip压缩,参考了网上的代码并修复了里面的一些问题,例如:中文乱码、目录不存在异常。所使用的Jar包:ant-*.*.*.jar和log4j-*.*.*.jar,示例工程的优快云下载地址:http://download.youkuaiyun.com/download/pengjunlee/10043115。ZipUtil工具类源码import java...原创 2017-10-19 17:43:32 · 42988 阅读 · 0 评论 -
JAVA核心知识点--使用HttpClient发送GET和POST请求
简介HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,我们可以使用该包中的URLConnection类来发送GET和POST请求,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpC...原创 2017-08-20 14:56:04 · 43625 阅读 · 0 评论