java之路
记录自己的java历程
雨夜※繁华
用最强大的行动力诠释一个完美的自己,期望未来成为自己眼中的大神。改变命运!
展开
-
重拾并发编程实战(第八章)
第八章、线程池的原理及自定义线程池8.1 线程池的原理我们知道,Thread是一个重量级的资源,创建、启动以及销毁都是比较耗费系统资源的,因此对于线程的重复利用是一种非常好的程序设计习惯,加上系统可创建的线程数量是有限的,线程数量和系统性能是一种抛物线的关系,所以我们要学会对线程进行管理。JDK1.5起,utils包提供了ExecutorService线程池的实现,主要的目的就是为了重复利用线程,提高系统效率。那到底什么是线程池呢?如何实现一个线程池呢?线程池的概念线程池就是一个池子,里面存原创 2020-10-15 17:14:12 · 179 阅读 · 2 评论 -
重拾并发编程实战(第七章)
文章目录重拾并发编程实战(二)第七章、Hook线程以及捕获线程执行异常7.1 获取线程执行时异常7.2 什么是UncaughtExceptionHandler?7.3 UncaughtExceptionHandler源码分析(执行过程)7.4 注入钩子线程(Hook)7.5 Hook线程实战7.6 小结重拾并发编程实战(二)第七章、Hook线程以及捕获线程执行异常7.1 获取线程执行时异常在Thread类里面,关于处理运行时异常的API共有4个,如下所示:public void setUncau原创 2020-10-13 15:24:15 · 618 阅读 · 0 评论 -
解决Struts2报错!struts2出现Unable to load configuration. - bean - jar:file:/...struts-default.xml问题
出现该类问题,经过自己的尝试,发现是struts2的包存在了重复。第一个是tomcat的lib目录下自己添加struts2的核心包,同时在idea 里面又添加了一遍。你需要先关闭服务器,然后打开五角星标记所示的地址,找到对应的包,删除,如图:最后回到idea,重新启动项目,发现能正常运行了。...原创 2020-09-21 20:47:06 · 831 阅读 · 0 评论 -
javaEE——创建Web项目
出现问题:因为Struct2的版本里面原创 2020-09-21 13:27:30 · 3329 阅读 · 1 评论 -
Java8新特性——Stream流:不同于IO流的流,操作集合数据
文章目录1、什么是Stream流1、认识Stream流2、Stream流和Collection的区别3、流的获取方式4、流操作和管道1、什么是Stream流1、认识Stream流2、Stream流和Collection的区别在Package java.util.stream这个包中引入的关键类是stream。类Stream、IntStream、LongStream和DoubleStream是对象上的流以及原始int、long和double类型。流在几个方面与集合不同:没有存储。流不是存储元素原创 2020-08-21 17:39:37 · 2413 阅读 · 0 评论 -
Lambda表达式和函数式编程
文章目录Lambda表达式和函数式编程一、Lambda表达式1.1、函数式编程思想概述1.2、演示冗余的Runnable代码1.3、Lambda标准格式1.4、Lambda表达式有无参数及其格式省略1.5、Lambda表达式是匿名内部类的‘语法糖’?1.6、Lambda表达式的注意事项二、函数式编程及常用接口2.1、性能浪费的例子:2.2、常用的函数式接口2.2.1、Supplier接口——生产数2.2.2、Consumer接口——消费数2.2.3、Predicate接口——逻辑运算2.2.4、Functi原创 2020-08-19 21:37:41 · 728 阅读 · 1 评论 -
Warning: Static member accessed via instance reference
public class DaoFactory { private static Dao daoImpl = null; private static DaoFactory daoFactory = null;//单例懒汉式 private DaoFactory() { try { //InputStream inputs = new FileInputStream(new File("src/DAO_design/DAOImpl.prop.原创 2020-08-02 11:05:58 · 2095 阅读 · 0 评论 -
Java网络编程(三)ServerSocket用法浅学
文章目录第三章 ServerSoclet用法解析前言3.1 ServerSocket的构造器3.1.1 端口绑定3.1.2 如何设置客户端的连接请求队列长度3.1.3 设定绑定的IP地址3.1.4 默认构造函数的作用3.2 接收和关闭客户端的连接3.3 关闭ServerSocket3.4 获取ServerSocket的信息3.5 ServerSocket选项3.5.1 SO_TIMEOUT选项3.5.2 SO_RESUEADDR选项3.5.3 SO_RCVBUF选项3.5.4 设定连接时间、延迟、带宽的相对原创 2020-06-12 12:02:51 · 1154 阅读 · 1 评论 -
Java网络编程(二)Socket用法浅学
自己总结的,难免有错,欢迎指出,在下感谢不尽!文章目录第二章 Socket用法浅学前言2.1 IP地址的封装对象InetAddress2.1.1、InetAddress2.1.2、抽象类SocketAddress2.2 UDP协议及DatagramSocket类2.2.1、UDP协议2.2.2、DatagramSocket类用法2.2.3、使用DatagramSocket实现聊天程序2.3 TCP协议及Socket、ServerSocket2.3.1、TCP协议2.3.2、Socket类创建客户端2.3.原创 2020-06-06 22:29:17 · 551 阅读 · 0 评论 -
Java网络编程(一)网络编程入门知识
文章目录第一章 Java网络编程入门1.前言1.1 进程之间的通信1.2 计算机网络概念1.3 网络模型之OSI参考模型第一章 Java网络编程入门1.前言我们都知道打开一个浏览器,输入一个URL如:http://baidu.com,这个地址指向的网址就会从远程的Web服务器传到客户端,然后在浏览器里边显示出来。再者,李四给张三送信,李四不用把信亲自送到张三家,而是将信用信封包装起来,然后通过邮政网络完成送信,张三收到信,拆开信封,读取信息。也就是说我们不用知道怎么发,我们知道发什么就行了。所以,原创 2020-06-04 13:38:03 · 1220 阅读 · 0 评论 -
Java.awt设计GUI程序时Label标签中文乱码解决(IDEA)
话不多说,上图:1、未修改时对话框里边无法显示Label的文本内容,显示的都是方框!2、开始修改Run——Edit Configurations——VM options:填入-Dfile.encoding=gbk3、问题解决。原创 2020-06-03 23:48:24 · 2597 阅读 · 2 评论 -
程序员必备:彻底弄懂常见的7种中文字符编码(转载!)
看到很棒的文章,忍不住搬过来收藏!原作者是鹅厂大佬。我转载一下哈原文链接:程序员必备:彻底弄懂常见的7种中文字符编码文章目录一、字符编码要做什么事情?二、几种常见中文编码的关系如何?三、ASCII编码四、GB2312、GBK、GB18030编码【GB2312】【GBK】【GB18030】五、UTF8编码(Unicode Transformation Format)六、其他经常遇到的编码【ANSI编码】【Latin1编码(又名ISO-8859-1编码)】程序开发常见的ASCII、GB2312、GBK、G转载 2020-06-02 21:10:59 · 8218 阅读 · 3 评论 -
在java中如何处理finally块中的抛出异常以及finally和return的一些细节
文章目录First point :finally和return的小细节回顾One question——finally块中使用return会抑制异常的冒泡传输Second point:finally中可能抛出的异常如何处理?First point :finally和return的小细节回顾在 finally 代码块中改变返回值并不会改变最后返回的内容。且它一定会被执行!总结为以下几条:1、当 try 代码块和 catch 代码块中有 return 语句时,finally 仍然会被执行。2、执行 t原创 2020-05-26 13:34:51 · 5920 阅读 · 0 评论 -
抽象类的实例化(探究DateFormat的静态工厂如何实例化)
我们都知道抽象类不能直接实例化,但是我们还是遇到一些能够实例化的抽象类,那他们到底是如何实例化的呢?根据我查阅到的资料,先总结一下,以后了解会更新。抽象类1、方法都是静态也有声明为抽象类的2、方法里边有抽象方法第一种:抽象类是父类,子类实现父类,通过多态实例化package Abstract_Interface;abstract class Fu{ public Fu(){ System.out.println("父类构造器"); } public a原创 2020-05-25 11:22:34 · 764 阅读 · 0 评论 -
Java与C++小区别:一个范围大的作用域下不能重新定义同名变量
由于在C++里边是支持的,自己写了发现报错了。查了一下:局部变量for(String s:l)不允许,因为上面的定义过s——String[] s;虽然数据类型不同,但是java就是不允许,编译器会报告变量x已经定义过。java设计者认为这样做会导致程序混乱。但是全局变量和局部变量同名是允许的。public class testnametype { static int b =3; int a; { a=1; } public static .原创 2020-05-24 10:15:19 · 344 阅读 · 0 评论 -
Hash Table详细解析(转载)
文章转载,自己整理一下格式。出处——http://blog.csdn.net/tanggao1314/article/details/51457585文章目录一.概念使用哈希查找有两个步骤:二.Hash构造函数的方法1.直接定址法:2.数字分析法:3.折叠法:4.平方取中法5.减去法6.基数转换法7.除留余数法:8.随机数法:9.随机乘数法10.字符串数值哈希法11.旋转法三.Hash处理冲突方法1. 开放定址法1.1 线性探测再散列1.2 二次探测再散列1.3 伪随机探测再散列2. 再哈转载 2020-05-15 14:23:43 · 239 阅读 · 0 评论 -
transient关键字的意思
transientjava语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。持久化对象——可能有一个特殊的对象数据成员变量的值——不包括在序列化的表示中序列化——transient型变量的值作用Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象原创 2020-05-14 16:40:02 · 215 阅读 · 0 评论 -
day15 15、认真学习多线程
文章目录15、多线程总结15.1 什么是多线程?15.1.1 第一步:了解进程与线程的区别15.1.2 多线程概念15.2 线程的创建(两种方式)15.2.1 方式一:继承Thread类15.2.2 方式二:实现Runnable接口15.2.3 两种方法的区别及其优劣性15.2.4 多线程是如何执行的(剖析内存中的情况)15.3 线程的状态浅析15、多线程总结最近很认真的学习完了多线程,现在总...原创 2020-05-07 22:45:28 · 225 阅读 · 0 评论 -
IntelliJ IDEA文件变了颜色,原来是这个原因!!
前天将这些文件提交到了github,今天打开,新建文件,发现文件变了颜色(不是报错!可以编译运行),原来是这个原因!解析我上网查了一下:现在记录其实,这主要和你的版本控制工具相关绿色,已经加入控制暂未提交红色,未加入版本控制蓝色,加入,已提交,有改动白色,加入,已提交,无改动灰色:版本控制已忽略文件。图片描述如何在ide修改?些文件名的颜色都是可以修改的,颜色的意义是...原创 2020-04-18 15:55:00 · 31194 阅读 · 0 评论 -
你也能学会的简单反射获取注解信息
使用反射获取注解信息使用注解修饰了类、方法、变量等成员之后,这些注解不会自己生效,必须由开发者提供相应的工具来提取处理。要想获取类、方法或变量的注解信息,必须通过 Java 的反射技术来获取 Annotation 对象,除此之外没有其它方法。所有 Java 注解类型都继承于 java.lang.annotation.Annotation 接口,该接口代表程序中可以接收注解的程序元素。该接口主要...原创 2020-04-18 15:16:55 · 319 阅读 · 0 评论 -
day14 14 解释 注解五“问”
文章目录14、注解小结14.1 什么是注解?14.2 注解的作用有哪些?14.3 我们常见的注解,如何使用?14.3.1 常见注解14.3.2 如何使用(基本注解使用)14.4 如何去创建自定义注解?(跟创建接口类似)14.5 多重注解写?14.5.1 java8以前定义多重注解的写法(容器、数组实现)14.5.2 java8以后使用@Repeatable元注解14、注解小结14.1 什么是注...原创 2020-04-18 14:34:08 · 277 阅读 · 0 评论 -
day13 13、文件操作(I\O流)
文章目录13、 输入流与输出流13.1 系统流13.2 各种字符编码介绍13.3 各种文件操作(File)13.3.1 File(重要)1 简介2 获取文件属性3 创建和删除文件4 创建和删除目录5 遍历目录13.4 各种字节流13.4.1 字节输入流13.4.2 字节输出流13.4.3 字节数组输入流13.4.4 字节数组输出流13.4.5 文件输入流13.4.6 文件输出流13.5 各种字符流...原创 2020-04-17 22:02:32 · 256 阅读 · 0 评论 -
day12 12、反射机制浅学
文章目录12、反射机制12.1 什么是反射机制12.2 Java 反射机制的优缺点12.3 反射机制常见API12.3.1 java.lang.Class 类(实现反射的关键所在)12.3.2 java.lang.reflect 包12.4 使用反射访问类的成员12.4.1 使用反射访问构造方法12.4.2 通过反射机制访问方法12.4.3 通过反射访问成员变量12.5 通过反射操作泛型12.5....原创 2020-04-17 20:59:19 · 416 阅读 · 0 评论 -
day11 11、泛型与枚举(联系C++)
文章目录11、泛型与枚举11.1 泛型11.1.1 泛型集合11.1.2 泛型类11.1.3 泛型方法11.1.4 泛型的高级用法11.1.5 泛型与C++模板的区别与联系11.2 枚举类型11.2.1 声明枚举11.2.2 枚举类11.2.3 为枚举添加方法11.3 EnumMap 与 EnumSet(java枚举新类)11.3.1 EnumMap 类11.3.2 EnumSet 类11、泛型...原创 2020-04-17 18:55:38 · 654 阅读 · 0 评论 -
day11 11 集合总结
文章目录11、集合、泛型、与枚举总结11.1 集合的分类11.1.1 Collection11.1.2 Map11.2 Collection接口介绍11.3 List集合(LinkedList,ArrayList,Vector)11.3.1 介绍11.3.2 ArrayList11.3.3 LinkedList11.3.4 Vector11.4 Set类(HashSet 类和 TreeSet类)1...原创 2020-04-17 17:25:09 · 771 阅读 · 0 评论 -
day10 10、异常的一些注意点
文章目录10、异常的一些注意点10.1 Java.util.logging(JDK自带的记录日志类)10.1.1 简介10.1.2 修改日志管理器配置10.2 自动资源管理(java7后加,java9增强)10.2.1 介绍10.2.2 java9的增强自动资源管理(不用写()只要声明了final或有效final)10.3 final and return执行顺序10.4 异常规范10.4.1 C...原创 2020-04-14 18:13:13 · 113 阅读 · 0 评论 -
day10 10、异常的重要特性总结
文章目录10、异常的重要特性总结10.1 异常简介10.2 异常的分类10、异常的重要特性总结计算机程序的编写也需要考虑处理这些异常情况。异常(exception)是在运行程序时产生的一种异常情况,已经成为了衡量一门语言是否成熟的标准之一。目前的主流编程语言,如 C++、c#、Ruby 和 Python 等大都提供了异常处理机制。10.1 异常简介Java 中的异常又称为例外,是一个在程序...原创 2020-04-14 17:22:26 · 2725 阅读 · 1 评论 -
next()与nextLine()的使用注意事项
今天练习的时候遇到了这个问题,发现这个很类似于C里边的scanf("%s")读取缓存区的过程。记录一下代码:package exception_use;import java.util.Scanner;public class Test1 { public static void main(String[]args){ Scanner sc = new Scan...原创 2020-04-14 16:05:46 · 1250 阅读 · 0 评论 -
java中的Lambda表达式小结结
文章目录1、概念2、函数式接口3、Lambda的三种简写形式3.1、省略参数类型3.2、省略参数小括号(只有一个参数的时候)3.3、省略return和大括号(Lambda的方法体只有一句时)4、Lambda的使用4.1、作为函数的参数(可以接受接口的对象,Lambda表达式)4.2、访问变量(局部,实例,静态变量)4.3、方法引用(::)5、Lambda表达式与匿名内部类的联系5.1、相同点5.2...原创 2020-04-13 22:17:06 · 342 阅读 · 0 评论 -
day9 9 内部类与匿名内部类
文章目录9、内部类与匿名内部类9.1 内部类的分类9.1.1 实例内部类(不用static修饰)9.1.2 静态内部类(使用static修饰)9.1.3 局部内部类(在类方法内定义的类)9.2 匿名内部类及Demo9.2.1 概念9.2.2 实现形式9.2.3 与局部内部类的关系9.2.4 匿名内部类的应用9.3 内部类实现多继承9、内部类与匿名内部类在类内部可定义成员变量和方法,且在类内部也...原创 2020-04-13 16:37:54 · 293 阅读 · 0 评论 -
day9 9 抽象类与接口、lambda表达式
Java 语言提供了两种类,分别为具体类和抽象类。前面学习接触的类都是具体类。这一节介绍一下抽象类。在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,那么这样的类称为抽象类。在 Java 中抽象类的语法格式如下:class<class_name> {<method_name&...原创 2020-04-13 12:36:42 · 428 阅读 · 0 评论 -
day9 9 类的继承与多态的总结
文章目录9、类的继承与多态的内容小结9.1 概念9.1.1 继承的概念9.1.2 多态的概念9.2 一些关键字9.2.1 InstanceOf(双目运算符)9.2.2 super and this9.3 类型转化(存在继承关系的类的转换)9.3.1 向上转型(用于多态体现)9.3.2 向下转型9.3.3 强制转型9、类的继承与多态的内容小结学好继承和多态是面向对象开发语言中非常重要的一个环节...原创 2020-04-13 11:51:38 · 525 阅读 · 0 评论 -
jvm的内存分布详解
文章目录1、虚拟机图解:2、解析各个区域2.1 程序计数器(Program Counter Register):2.2 Java虚拟机栈(Java Virtual Machine Stacks)(我们所说的栈在这里)2.2.1 本地变量表部分2.2.2 操作数栈2.3 本地方法栈(Native Method Stacks)2.4 Java堆(Java Heap)2.5 方法区(Method Are...原创 2020-04-11 10:04:51 · 695 阅读 · 0 评论 -
day8 8、java里的包及静态导入
文章目录1.1 包(package)1.1.1 什么是包1.1.2 包的作用1.1.3 包的定义1.1.4 包导入1.1.5 包的分类1.1.7 带包的类的编译1.2 静态导入(import static)1.1 包(package)1.1.1 什么是包在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事,尤其是一些同名问题的...原创 2020-04-10 21:02:26 · 339 阅读 · 0 评论 -
java里边的new深入剖析
文章目录new剖析常规变量及装箱拆箱的例子1)int与Integer2)double与Doublenew剖析jvm运行时的数据区(runtime data area)”new“在 Java 中意思是”新的“,可以说是 Java 开发者最常用的关键字。在 Java 中 new 的操作往往意味着在内存中开辟新的空间,这个内存空间分配在内存的堆区。堆是用来存放由 new 创建的对象和数组,即动...原创 2020-04-10 12:16:49 · 1736 阅读 · 0 评论 -
day8 8 java中的类与对象
文章目录8、java中的类与对象8.1 引用类型——类(对比C++)8.1.1 定义形式差异8.1.2 类的属性8.1.3 this指针8.1.4 对象的创建8.1.5 匿名对象8.1.6 对象的销毁、及析构函数1.对象的销毁2 析构函数(finalize)8、java中的类与对象面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面...原创 2020-04-10 10:30:02 · 397 阅读 · 0 评论 -
public static void mian(String[]args)剖析
我们都知道java里面 main() 方法定义必须是“public static void main(String[] 字符串数组参数名)”,那到底是为什么呢?首先我们得知道main()是程序的入口,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。既然main()是成员函数!则1)public :这个字段决定了方法是否可以被外部方法...原创 2020-04-09 21:05:22 · 485 阅读 · 0 评论 -
day7 7 Java数组中的一些注意事项
文章目录7、java数组里的注意事项7.1 数组的简介7.2 注意事项7.2.1 java数组的定义及初始化形式1.一维数组(3种)2.二维数组(3种)3.多维数组(含不规则数组)7.2.2 规则的数组与不规则的数组7.2.3 使用 for-each来简化遍历数组(样例 迷宫小游戏)7.3 Array工具类7、java数组里的注意事项7.1 数组的简介数组(array)是一种最简单的复合数据...原创 2020-04-09 12:51:15 · 403 阅读 · 0 评论 -
day6 6 java内置的包装类小结一波
文章目录6、内置的包装类小结6.1 所有类的父类Object6.1.1 toString() 方法6.1.2 equals() 方法6.1.3 getClass() 方法6.1.4 object类的应用6.2 Integer类(基本数据包装类基本用法相似)6.2.1 Integer 类的构造方法6.2.2 Integer 类的常用方法6.2.3 Integer 类的常量6.3 Number类(抽象...原创 2020-04-09 11:37:06 · 284 阅读 · 0 评论 -
day5 5 java日期的操作及格式控制
文章目录5、java日期的操作及格式控制1.系统时间及日历1.1 Date类1.2 Calendar类(抽象类)1.3 Demo演示创建2019年的日历2.日期的格式化2.1 DateFormat 类(抽象类)2.2 SimpleDateFormat类(DateFormat子类)5、java日期的操作及格式控制1.系统时间及日历在 Java 中获取当前时间,可以使用 java.util.Da...原创 2020-04-07 22:06:18 · 475 阅读 · 0 评论