自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 (四)手写打破双亲委派 (类加载机制 第四篇)

我们知道,在加载类的时候,会一级一级向上委托,判断是否已经加载,从自定义类加载器-》应用类加载器-》扩展类加载器-》启动类加载器,如果到最后都没有加载这个类,则回去加载自己的类。双亲委托有个弊端:不能向下委派,不能不委派怎么打破双亲委派机制:(也就是能向下委派和不委派)自定义类加载器(不委派)spi机制(向下委派)用spi来打破双亲委派SPI是什么?SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换

2021-11-04 14:58:13 243

原创 (三)自定义加载器 (类加载机制 第三篇)

首先一个问题:为什么要自定义类加载器?我们大家都知道,java内部已经有3大加载器,可以满足大部分类的加载场景了,为什么还要来自定义加载器呢?这个问题,我们来分析一下当前类加载的一些弊端。非当前classpath下的类,我们当前的类加载器是无法进行加载的,如果在数据库,在远程服务器上的class,等等我们当前类为了更加的安全,我们需要对其进行加密操作以上的问题,当前的类加载是无法处理,所以我们需要自己自定义类加载。那么怎么自定义类加载器呢?首先,分析ClassLoader类的加载方

2021-11-04 14:57:29 359

原创 (二) launcher详解 (类加载机制 第二篇)

sun.misc.Launcher类sun.misc.Launcher类是不开源的,我们只能通过IDEA反编译看到代码,根据第一篇,我们知道,类加载的神器主要是在Launcher这个类中,这个类是jvm底层,进行类加载的。JVM启动入口,主要作用是:创建ExtClassLoader 、用ExtClassLoader作为parent去创建AppClassLoader、设置AppClassLoader为当前线程的ContextClassLoader。Launcher 只是一个封装了虚拟机的执行

2021-11-04 14:50:40 989

原创 (一) 类加载过程详解 (类加载机制 第一篇)

当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到 JVM。package com.shendu;public class JvmTest01 { public static final int initData = 666; public int compute() { int a = 1; int b = 2; int c = (a + b) * 10; return c;

2021-11-04 14:49:10 7120 1

原创 java的事务详解以及JDBC代码示例

java的事务详解以及JDBC代码示例一:事务的ACID特性Ø 原子性(atomicity):组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。Ø 一致性(consistency):在事务处理执行前后,数据库是一致的(数据库数据完整性约束)。Ø 隔离性(isolcation):一个事务处理对另一个事务处理的影响。Ø 持续性(durability):事务处理的效果能够被永久保存下来二:事务三个问题事务隔离类型解释脏读脏读发生在一个事务读取了被另一个事务改写但尚未

2021-02-24 11:06:35 325

原创 剑指offer(一):数组中的重复数字(java版本)

剑指offer(一):数组中的重复数字(java版本)题目:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 解法一:利用暴力破解思路:双层for循环依次和前面的数据进行对比找到找到相同的然后直接返回该算法思路简单,但是时间复杂度高,代码如下:

2021-02-23 16:50:08 140

原创 利用UDP网络编程传输对象

利用UDP网络编程传输对象上篇写了一篇UDP的基本用法,这次来写一下UDP传输对象的使用一:需要用的知识:java中io流java中的序列化UDP基本思想二:常用的类类方法作用Serializable对象必须实现这个接口才能序列化ObjectOutputStreamwriteObject(),flush()对象输出流ObjectInputStreamreadObject()对象输入流三:代码示例好了,话不多说直接上代码,这次代码总体比较

2021-02-23 11:23:34 291

原创 案例:用python将中文翻译的和英文原文合成新的word文档

案例:用python中文翻译的和英文原文合成新的word文档一 问题的形成需求的描述:一个英语翻译专业的研究生同学有一个期末作业。老师给了一个英文的文档,需要同学们翻译成中文。老师给的文档是格式如下图一所示,这个研究生同学翻译如图二所示。​ (图一)​ (图二)该同学的做法就是按照老师的说法将翻译重新整理了一篇word文档,突然老师在群里说要求提交作业的格式为英文下面插入对应的中文,并且对字体的格式还有要求。 中文为宋体并且字体为小四号,

2021-02-11 20:52:53 3813 6

原创 UDP的网络编程

UDP的网络编程一 :UDP的基本概念​ UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。二:使用UDP的原因​ 它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包, 也不会对接收结果产生太大影

2021-02-09 11:26:25 1735 7

原创 cron表达式参数详细讲解

cron表达式简介Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek YearSeconds Minutes Hours DayofMonth Month DayofWeek结构corn从左到右(用空格隔开):秒 分 小时 ...

2019-06-10 17:47:47 3043

原创 JAVA面试题大汇总

JAVA就业课程一、面试整体流程 1.1 简单的自我介绍     我是xxxx,工作xxx年.我先后在xxxx公司、yyyy公司工作。先后做个xxxx项目、yyyy项目。 1.2 你简单介绍一下xxxx项目    为了解决xxxx问题,开发了一套xxxx系统,该系统主要有那些部分组成。简单介绍项目的整体架构。参与某个模块的开发。就要求你说一下这个模块的业务及设计。 1.3 会问一下JAVA的专业技...

2018-06-07 10:42:55 1804

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除