![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
yasuofenglei
这个作者很懒,什么都没留下…
展开
-
Logback 配置文件学习
Logback配置自身的步骤1.在classpath下尝试找一个叫作"logback-text.xml"文件2.如果没有找到该文件.检查在classpath下的"logback.xml"3.如果没有找到该文件.服务提供的加载工具 ServiceLoader (introduced in JDK 1.6)将被使用.解决 com.qos.logback.classic.spi.Configurator 接口实现,通过寻找 class路径下"META-INF\services\ch.qos.logback.原创 2022-04-21 23:35:11 · 847 阅读 · 0 评论 -
Swing类结构和JFrame结构
原创 2021-01-14 14:57:50 · 146 阅读 · 0 评论 -
常用的java运行时系统属性值获取
代码是kotlin写的。不要介意。// println("Java运行时环境版本:" + System.getProperty("java.version"))// println("Java 运行时环境供应商:" + System.getProperty("java.vendor"))// println("Java 供应商的URL:" + System.getProperty("java.vendor.url"))// println("Java安装目录:" + Syst原创 2020-12-17 10:43:59 · 113 阅读 · 0 评论 -
jlink生成精简jre
打开命令行工具,进入到jdk目录。使用jdeps.exe查找项目依赖jmodbin\jdeps.exe --multi-release 11 --print-module-deps D:\code\power-observer\build\install\power-observer\lib\k*.jar打印出的结果java.base,java.instrument,jdk.unsupported–multi-release 11 :由于本例是查询的jar包为多版本的,因此指定了java.原创 2020-12-10 13:08:17 · 876 阅读 · 1 评论 -
JDK环境变量
变量名变量值JAVA_HOMED:\soft\jdk\jdk-11.0.8path%JAVA_HOME%\jre\binpath%JAVA_HOME%\jre\binCLASSPATH.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar原创 2020-11-15 18:55:38 · 64 阅读 · 0 评论 -
Java异常体系
异常处理机制主要回答了三个问题What:异常类型回答了什么被抛出Where:异常堆栈跟踪回答了在哪抛出Why:异常信息回答了为什么抛出Error和Exception区别从概念角度解析Java的异常处理机制Error :程序无法处理的系统错误,编译器不做检查.Exception:程序可以处理的异常,捕获后可能恢复.总结:前者是程序无法处理的错误,后者是可以处理的异常.Runt...原创 2020-02-16 11:56:01 · 123 阅读 · 0 评论 -
Java多线程与并发
进程和线程的区别进程和线程的由来串行 初期的计算机智能串行执行任务,并且需要长时间等待用户输入.批处理 预告将用户的指令集中成清单,指量串行处理用户指令,仍然无法并发执行.进程 进程独占内存空间,保存各自运行状态,相互间不干扰且可以互相切换,为并发处理任务提供了可能.线程 共享进程的内存资源,相互间切换更快速,支持更细粒度的任务控制,使进程内的子任务得以并发执行进程是资源分配的最小单...原创 2020-02-16 10:26:14 · 299 阅读 · 0 评论 -
Java-类加载
Compile Once,Run Anywhere如何实现?JVM如何加载.class文件Java虚拟机Class Loader : 依据特定格式,加载class文件到内存.Runtime Data Area : JVM内存结构模型Execution Engine : 对命令进行解析Native Interface : 融合不同开发语言的原生库为Java所用反射Java反射机制...原创 2020-02-09 01:53:24 · 98 阅读 · 0 评论 -
GC回收机制及算法
GC回收机制及算法说起垃圾收集(Garbage Collection, GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考GC需要完成的3件事情:1)哪些内存数据需要回收?2)什么时候回收?3)如何回收?经过半个多世纪的发展,目前...原创 2019-09-12 10:50:19 · 1725 阅读 · 0 评论 -
ZooKeeper
一 概述是Apache提供的开源的,用于进行分布式架构的管理的框架。Zookeeper是根据Google关于Chubby Lock的论文来实现的。二 分布式带来的问题1.在分布式条件下,为了确定请求访问的对应的主机,那么引入管理节点。2.如果管理节只存在一个,存在单点故障,那么需要引入管理集群。3.在管理集群中,需要选择一个主节点,需要选举算法。4.当节点宕机,那么需要...原创 2019-08-17 17:11:32 · 193 阅读 · 0 评论 -
Concurrent包
概述1.是JDK1.5提供的应对高并发的基础包2.主要包含:BlockingQueue,ConcurrentMap,ExecutorService,Lock,原子性操作BlockingQueue-阻塞式队列本质是队列,满足队列的原则(先进先出FIFO)。所有的阻塞式队列都是有界的-当队列定义好之后,大小就不可变。阻塞:当队列已满的时候,再试图放入的线程会被阻塞。当队列为空的...原创 2019-08-16 17:15:13 · 371 阅读 · 0 评论 -
AOP切入点表达式
1within表达式通过类名进行匹配 粗粒度的切入点表达式within(包名.类名)则这个类中的所有的连接点都会被表达式识别,成为切入点。 <aop:pointcut expression="within(cn.tedu.service.UserServiceImpl)"在within表达式中可以使用*号匹配符,匹配指定包下所有的类,注意,只匹配当前包,...原创 2019-07-01 11:26:47 · 2057 阅读 · 0 评论 -
Spring的五大通知类型
1前置通知在目标方法执行之前执行执行的通知前置通知方法,可以没有参数,也可以额外接收一个JoinPoint,Spring会自动将该对象传入,代表当前的连接点,通过该对象可以获取目标对象 和 目标方法相关的信息。注意,如果接收JoinPoint,必须保证其为方法的第一个参数,否则报错。(方法可接收参数JoinPoint jp )Object obj=jp.getTarget();//...原创 2019-07-01 14:17:13 · 15995 阅读 · 0 评论 -
ZAB协议
概述Zookeeper Atomic Broadcast(原子广播协议)是专门为Zookeeper设计的协议。这套协议在设计过程中,基于2PC算法来设计,利用PAXOS算法进行了改进作用:原子广播和崩溃恢复。原子广播原子广播是为了保证所有节点数据的一致性。原子广播基于2PC算法进行改进。2PC-2 Phase Commit(二阶段提交),核心思想是“一票否决”。a....原创 2019-08-19 13:29:19 · 129 阅读 · 0 评论 -
AVRO
AVRO是Apache提供的一套序列化和RPC的机制AVRO早期是为Hadoop设计的一套序列化系统,后来将AVRO独立出来。序列化1.序列化的目的:数据的存储和传输。2.序列化的衡量标准:a.序列化的时间及占用的CPU。b.序列化之后产生的数据量。c.序列化机制能否跨平台跨语言。AVIO考虑到了跨语言传输的问题,采用了json格式。maven工程依赖如下...原创 2019-08-19 16:01:37 · 638 阅读 · 0 评论 -
MapReduce
MapReduce功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入MapReduce是Hadoop提供的一套用于分布式...原创 2019-08-23 17:04:28 · 110 阅读 · 0 评论 -
Hadoop
Hadoop是Apache提供的一套开源的,可靠的,可扩展(可伸缩的),用于分布式计算的框架。Apache Hadoop对版本的管理的控制是非常混乱的。发展历程创始人:Doug Cutting,Caferalla在2002年,Doug和Mike想设计一套搜索引擎Nutch,爬取了全网的10亿个网页的数据。在2003年,Google发表了一篇论文<The Google Fi...原创 2019-08-20 11:39:58 · 133 阅读 · 0 评论 -
NIO
概述NIO(newIO-NonBlockingIO-非阻塞式IO)是JDK1.4提供的一套进行数据传输的机制。BIO-BlockingIO-阻塞式IO。NIO的三大组件:Buffer,Channel,Selector。AIO-AsynchronousIO -异步非阻塞式IO-JDK1.8出现BIO缺点1.阻塞:相比非阻塞而言,阻塞的效率是相对较低的。2.一对一的连接:每...原创 2019-08-15 14:52:06 · 102 阅读 · 0 评论 -
HDFS
技术细节1.HDFS在存储数据的时候会将数据进行切换。2.HDFS中两类主要节点:NameNode和DataNode。3.在HDFS中,会对每一个块进行备份,这些备份称之为副本(replication)。默认的副本数量为3。Block1.表示数据块,HDFS中数据存储的基本形式也是Block。2.每Hadoop2.X中,每一个Block默认是128M。可以通过dfs.blo...原创 2019-08-20 17:04:58 · 878 阅读 · 0 评论 -
servlet生命周期
servlet的生命周期:1.加载和实例化 Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例。当Servlet容器启动后,它必须要知道所需的Servlet类在什么位置,Servlet容器可以从本地文件系统、远程文件系统或者其他的网络服务中通过类加载器加载Servlet类,...转载 2019-06-14 15:06:54 · 1171 阅读 · 0 评论