![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
jacdong
工作态度认真,学习能力强,自我要求严格。
展开
-
Java - JVM类加载
类加载过程加载加载的过程主要完成三件事 1. 加载二进制文件 [根据类的全限定类名,加载二进制字节流. 2. 将二进制所代表的静态存储结构转成java 运行时方法区的数据结构[将二进制字节流所代表的静态存储结构转成方法区的运行时数据结构] 3. 在内存中生成一个代表这个类的 java.lang.Class 对象,作为方法区这个类的各种数据访问的入口验证1. 验证文件格式是否正确。2. 类的元数据是否正确 [语法验证]3. 字节码验证 [语义验证]4. 符号引用验证准备1. 为类原创 2021-11-03 20:33:29 · 100 阅读 · 0 评论 -
[基础] Java 线程相关知识
线程创建的几种方式继承Thread实现Runable 接口实现Callable 接口利用线程池生成这几中生成方式的差异继承thread 和实现runable 接口,都是无返回值的线程实现方式,Callable 是有明确返回值的后面两种可以有返回值,通过Callable接口,就要实现call方法,这个方法的返回值是Object,所以返回的结果可以放在Object对象中案例继承Threadpackage test.thread;public class ThreadImpl原创 2021-10-27 09:01:57 · 87 阅读 · 0 评论 -
设计模式 - 命令模式
前言命令模式是从界面设计中提取出来的一种分离耦合,提高重用的方法。(注意只是从页面设计中提取出来的一种分离耦合,不代表只能在页面是使用的设计)定义将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。解决的问题在设计界面时,同样的菜单控件,在不同的应用环境中的功能是完全不同的;而菜单选项的某个功能可能和鼠标右键的某个功能完全一致。理解*客户发出请求给请求者,请求者下发命令,这个命令是给某个具体的接受者里执行的。*请求者(command原创 2021-10-27 08:20:25 · 94 阅读 · 0 评论 -
设计模式 - 动态代理
为什么会有动态代理呢在静态代理模式中,每一个需要被代理的对象都要有一个代理类与之对应,这样的话,会形成类爆炸。于是我们想到了一种统一的方式,在类的运行期间动态的生成代理类,来完成相对应的工作。格式:interface Subject{ public void buyHouse();}public class RealSubject{ poblic void buyHouse(){ System.out.println("buy house");}} public Class Subj原创 2021-10-26 13:34:50 · 86 阅读 · 0 评论 -
设计模式 - 建造者模式
概念:将一个复杂对象的构建与他的表示分离,使得同样的创建过程,可以创建不同的表示。为什么要这样做:案例:“白龙马蹄朝西,伏着唐三藏,跟着三徒弟,西天取经不容易,一行就是几万里”,此时,我们自己是导演,我们需要自己来给唐三藏配置徒弟。解决方案:我的理解:与工厂模式有什么区别:可以理解为工厂是生产产品,而建造早死创建产品,利用工厂来获得的,肯定是加工过后的产品,而创建者,却是在拿部件组建产品解耦过程和部件试用场景:1.对象的构造过程允许对象有不同的表示。2.创建复杂对象的算法独立于该对象的原创 2021-10-26 13:26:20 · 91 阅读 · 0 评论 -
Java 利用JavaCPP 调用算法
配置liunx 环境系统配置so 文件存放路径[root@arch2 ~]# cat /etc/ld.so.conf.d/so.conf /opt/app/tools/so/从新调用ldconfig 命令ldconfig配置java 项目配置pom 文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/原创 2021-10-26 11:01:38 · 775 阅读 · 7 评论