
Java
文章平均质量分 62
莫迟疑
程序员
展开
-
Java发起GET请求的二三事
一、拼接url首先我们需要知道的是,url是要符合一定格式的,比如我们就不能在url中写“$”、“#”、中文、空格等。所以,我们这里采用application/x-www-form-urlencoded格式对请求参数进行编码,可参考如下代码: /** * 构造完整请求url(带参数) * @param url 请求url,形如:http://192.168.1.19 * @param params 请求参数,key是参数名,value是参数值 * @retu原创 2022-05-30 21:05:37 · 5510 阅读 · 2 评论 -
jdk-8u271这里的u是什么意思
本文介绍一下JDK的一些相关术语术语名缩写解释Java Development KitJDKJava开发工具包,包含编译器、类库、JRE、JVMJava Runtime EnvironmentJREJava运行时环境,包含JVMStandard EditionSEJava标准版,用于桌面或简单服务器应用的Java平台Enterprise EditionEEJava企业版,用于复杂服务器应用的Java平台OpenJDK-Java SE 的一个原创 2020-12-06 22:43:27 · 6166 阅读 · 2 评论 -
java中的javax包
javax是java extension的简称,作为java标准库的扩展。早期的javax集成在jdk里,但是后来为了避免jdk包过大,javax就独立存在了。原创 2020-10-27 15:07:19 · 4161 阅读 · 0 评论 -
Java中泛型的定义和使用
泛型是一种“代码模板”,可以用一套代码套用各种类型。定义泛型的定义,可以按照如下格式:package com.sj;public class Person<T> { private T value; public Person() { } public Person(T value) { this.value = value; } public void setValue(T value) { .原创 2020-10-05 17:18:06 · 611 阅读 · 0 评论 -
用表格展示各修饰符的访问控制权限比较清晰
访问权限控制,用来约束属性、方法的可访问范围。例如在实体类中,通常我们会声明属性的访问权限为private,那么该属性只能在本类访问,其他类则无权访问。以下表格标明每个修饰符的可访问范围:/本类同包类子类任意类private√default√√protected√√√public√√√√...原创 2020-09-16 09:17:27 · 166 阅读 · 0 评论 -
我所认识的反射
如果一个方法,以Class<?> clazz作为入参。public void reflect(Class<?> clazz) { }那么,任何对象都可以通过obj.getClass()传进来。然后,透过反射,再拿到对象obj。这样,在这个方法中,就可以写通用逻辑,处理任意对象。以上,是我认识的全部反射了。...原创 2020-09-10 09:32:29 · 150 阅读 · 0 评论 -
创造自己需要的注解
注解注解是形如@Resource,可以加在类、方法、属性、参数等上面,以实现特定功能的一种java组件。在写java代码的时候,我比较常见到的是Spring注解。比如在类上使用@Component,将这个类注册到Spring;在属性上使用@Autowired注解,将Bean注入到这个类。而在没有注解之前,Bean的注册和注入是通过配置文件完成的。自定义注解除了使用各种框架提供的现成的注解,我们也可以自己定义注解,以实现定制化的需求。新建一个注解类,修饰符使用@interface。packag原创 2020-09-03 20:21:33 · 224 阅读 · 0 评论 -
Java生态
每一个Java项目都不是单独存在的,至少至少依赖于JDK的那些jar包。这些jar包通常以Api的形式为你提供服务。Api代表“我能为你做什么”。这是对人类社会的仿真。医生能为你治疗,司机可以为你开车,会计可以帮你算账,警察维护社会治安。同Java项目一样,每个人都不是单独存在的,每个人都依赖于其他人。没有别人,你甚至无法制造出一根火柴。而Java之所以能发挥如今这么大的作用,不是单纯的这个语...原创 2019-08-22 17:40:20 · 922 阅读 · 0 评论 -
Java中编译的作用
Java代码最终是要运行在JVM上的,编译的作用就是把Java文件编译成JVM能够执行的Class文件。原创 2019-08-10 16:25:08 · 933 阅读 · 0 评论 -
Stream API 能做的事
本文单纯列出Stream Api可以做的事,好方便以后用到Stream的时候,手里有一份简洁的API地图详尽解析请参考文章Java 8 中的Streams API 详解map:映射filter:过滤foreach:迭代,主要作用是产生side effectreduce:将Stream的元素组合起来limit/skip:留下n个元素,或者跳过n个元素sorted:排序min、m...原创 2019-05-18 10:48:52 · 141 阅读 · 0 评论 -
Java8的Lambda表达式
我想依托Java解释一下什么是Lambda表达式。在Java中我定义一个函数来对两个整数做加法,那么我这样写:int add(int x, int y) { return x + y;}可是如果我不想费力的给一个函数起名字呢,那么我可以这样定义这个函数:(x, y) -> x + y这个函数就是一个lambda表达式,即lambda表达式其实就是一个匿名函数,入参类型不...原创 2019-04-22 17:31:11 · 161 阅读 · 0 评论 -
Java中关于绑定的那些概念
绑定: 将一个方法调用同一个方法主体关联起来被称作绑定。前期绑定: 在程序执行前进行绑定,叫做前期绑定。后期绑定: 在运行时根据对象的类型进行绑定,叫做后期绑定。后期绑定也叫做动态绑定或运行时绑定。...原创 2019-02-28 08:41:49 · 632 阅读 · 0 评论 -
Java中全局变量初始化顺序
首先,在加载类或者创建类的第一个对象的时候,初始化静态变量。但是无论创建多少个对象,静态变量只初始化一次。然后,初始化非静态变量。如果非静态变量在声明的位置没有初始化,则编译器为基本类型数据赋值0,对象引用赋值为null。最后,是调用构造器初始化。下面通过代码并结合继承详细解释:class Insect { private int m = printInit("Insect.m...原创 2019-02-27 19:20:58 · 3185 阅读 · 0 评论 -
Java的final关键字
final可以修饰域、方法、类,有不可改变之意,今天先结合例子讲下final修饰域的作用。final修饰域分两种情况:1.final修饰基本类型,则基本类型的数值不可改变。2.final修饰对象引用,则对象引用不可改变;一旦引用已经初始化完成指向一个对象,就不能让这个引用指向另一个对象了;但是对象本身确实可以被改变的。读者可以结合下面的例子更直观的理解上面的概念:/** * @De...原创 2019-02-22 17:35:50 · 150 阅读 · 0 评论 -
Java的继承
Java中有两种方式复用其他类的代码,组合和继承。组合通过将其他类的对象置于本类中实现;继承则是在子类(或叫导出类)中直接复用父类(或叫基类)代码。今天我们主要讲通过继承的方式复用代码。先写一个例子,再通过这个例子来解释继承。class Cleanser { private String s = &amp;amp;amp;quot;Cleanser&amp;amp;amp;quot;; public void append(String..原创 2019-02-18 10:08:40 · 169 阅读 · 0 评论 -
通过重写toString改变控制台打印行为
在Java中,所有的对象都隐式继承Object类,Object类有toString方法,所以所有Java类实际上都有toString方法。默认的,我打印一个对象,实际上是打印了这个对象的类访问路径和十六进制的对象在内存中的地址:public class Mobile { private String manufacturer; public Mobile(String ...原创 2019-02-16 13:44:52 · 437 阅读 · 0 评论 -
一个构造Java单例的示例
单例(singleton),你始终只能创建它的一个对象。 示例代码及每行代码的意义的解释如下:package com.markhonest.test;class Soup { // 1.构造方法设置为private的,这样别人就不能直接new一个Soup类的对象,而只能通过我提供的方法获得Soup实例 private Soup() {} // 2.创建一个S...原创 2019-02-15 20:53:21 · 257 阅读 · 0 评论 -
Java的访问权限控制
Java的的访问权限控制等级,从最大权限到最小权限依次为public、protected、包访问权限(没有关键字)和private。它们可以应用于类、域和方法上。它们的可访问范围如下:public:没有限制。protected:本类,该类的子类,以及同一个package下的其他类。包访问权限:本类,以及同一个package下的其他类。private:只可以本类访问。如果我们是类的生产...原创 2019-02-15 17:55:46 · 359 阅读 · 0 评论 -
Java的可变参数列表
先写例子,再解释:private static void printVariableArgs(Object... args) { System.out.print(&amp;amp;amp;amp;amp;amp;quot;argsLength: &amp;amp;amp;amp;amp;amp;quot; + args.length + &amp;amp;amp;amp;amp;amp;quot;; args: &amp;amp;am原创 2019-02-14 13:33:05 · 819 阅读 · 0 评论 -
Java中数组的声明和初始化
1.声明1.1.要声明一个数组,只需在类型后面加上&amp;amp;amp;quot;[ ]&amp;amp;amp;quot;即可;例如:String[] strArray;2.初始化2.1.方式一:String[] strArray = {new String(“a”), “b”}; 它只能在创建数组的地方使用2.2.方式二:String[] strArray = new String[2]; 数组容量为2,数组元素中的对象自动初始原创 2019-02-13 17:49:10 · 528 阅读 · 0 评论 -
统计项目内自己写的代码行数示例
我需要统计今年我写了多少行代码。要实现这个需求,需要一个前提,代码中一定要有某种标识,来标识这段代码是我写的。这个标识是存在的。我写的方法都加了注释,注释上都有“@Author .Mark”和“@Date”关键字,通过这两个关键字,我可以定位到我在2018年新增的方法。(这里还不能统计一个十分准确的数字,其中包含几方面的原因,其一,这里只能统计新增的方法,不能统计全局属性,enum类;其二,还有...原创 2019-02-01 17:01:49 · 885 阅读 · 0 评论 -
Java的构造器
Java的构造器保证了成员变量得到恰当的初始化。 用一个例子来解释这句话,假设我是Person类的设计者;我需要别人在创建Person对象的时候,赋予这个对象性别、体重,否则就不可以创建Person对象;那么我如何保证这件事呢?public class Person { String gender; float weight;}我用构造器保证。public class P...原创 2019-01-30 20:38:34 · 224 阅读 · 0 评论 -
Java判断字符串是否实际上是整数
/** * @Description 判断字符串是否实际上是整数 * @Author .Mark * @Date 2019年1月30日 */public static Boolean isInteger(String str) { // 1.限制入参 if (str == null || "".equals(str)) { return false; ...原创 2019-01-30 13:58:01 · 935 阅读 · 0 评论 -
Java的this关键字
Java的this关键字只能在方法内部使用,表示“调用该方法的那个对象”的引用比如我们在构造实体类的时候常用的set方法,通常都使用this关键字,示例代码如下:package com.dhcc.mhealth.web.jklapi.unit.test;public class TestThis { String userName; public void set...原创 2019-01-28 20:30:52 · 258 阅读 · 0 评论 -
Java跳出多层循环
在Java中,可以使用标签很方便的跳出多层循环public static void main(String[] args){ label: for (int i = 0; i &lt; 10; i++) { for (int j = 0; j &lt; 10; j++) { System.out.println("i = " + i + "...原创 2019-01-23 20:03:09 · 3192 阅读 · 0 评论 -
对Java中的接口的理解
Java中的接口内只定义方法,没有方法的实现;也就是单独拿到这个接口,你不能产生任何行为;那么接口的存在意义是什么呢?举个例子,我们定义了一个Animal接口,接口内只有一个方法:run( Animal animal );那么凡是实现了这个接口的类,就必定也要实现run方法,也就是我们知道了,无论你创建了一只鹿、一只羊,只要它实现了Animal接口,它就一定可以产生run行为。接口定义了实现接口...原创 2019-01-19 12:24:03 · 405 阅读 · 0 评论 -
自动创建包和类
概述我日常的主要工作是为移动端提供接口,我们的公司框架定义了一套创建一个接口需要的类;每个模块都要定义这些类,包括数据库查询的Dao层,调用Dao保证数据库查询的事务一致的Service层,处理业务逻辑的Blh层,和处理请求的Resource层;起初我创建这些类的方法是Copy已经存在的同一层次的类,创建包、Copy、修改类内代码使符合当下路径要求;但是,当我重复来太多次之后,觉得这件事情,不应...原创 2019-01-13 21:19:53 · 527 阅读 · 0 评论 -
数据库表映射实体类
package com.dhcc.mhealth.common.util.mysql;import static com.dhcc.mhealth.common.util.string.StringUtil.*;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io...原创 2019-01-12 16:04:39 · 1756 阅读 · 0 评论 -
Java的static关键字
static用来修饰属性或方法,来标识这个属性为静态属性,或者这个方法为静态方法。静态属性,你可以通过new一个对象来访问,也可以通过类名点儿直接访问;静态属性只和类有关,和类的某一个实例无关,所有的类的实例共享一份这个属性的存储空间,这句话的含义可以通过如下代码解释:class StaticTest { public static int i = 0;}public class...原创 2019-01-06 18:11:09 · 171 阅读 · 0 评论 -
Java变量的可见性和生命周期
本文是《Java编程思想》的学习笔记1.Java变量包含基本类型和对象。2.基本类型的可见性和生命周期由作用域决定,而作用域由花括号的位置决定,如下示例代码:public static void main(String[] args){ int x = 12; // 只有x可见 { int q = 96; // x和q都可见 }...原创 2019-01-05 16:24:40 · 621 阅读 · 0 评论 -
Java程序数据存储
本文摘自《Java编程思想》第二章 2.2.1小节程序运行时,对象是怎么进行放置安排的呢?特别是内存是怎样分配的呢?对这些方面的了解会对你有很大帮助。有五个不同的地方可以存储数据:1.寄存器。这是最快的存储区,因为它位于不同于其他存储区的地方 — 处理器内部。但是寄存器的数量极其有限,所以寄存器根据需要进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2.堆栈。 位于...原创 2019-01-05 11:26:20 · 288 阅读 · 0 评论 -
Java空指针概述及情景收集
1.在通过对象点儿使用属性或方法之前,保证这个对象不是Null正面示例代码: private void test(List&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;Map&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;String, Object&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;am原创 2018-12-26 17:21:35 · 1363 阅读 · 0 评论