
java
hp_yangpeng
青岛大学
展开
-
Java 类加载器详解
Java类加载器详解JVM知识点划分:以下结构实际是按照 Java 虚拟机实战的逻辑架构进行划分的 ;另外Java 虚拟机实战这本书是从中级走向高级的必经之路!!!JVM运行时数据区划分;垃圾回收区和垃圾收集算法class文件结构类加载器ClassLoader;Java虚拟机栈类加载:什么是类加载机制?类加载机制: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进...原创 2019-12-18 11:45:30 · 412 阅读 · 0 评论 -
JAVA JDK动态代理原理详解
Java JDK动态代理原理详解:参考文章:https://blog.youkuaiyun.com/qq_31859365/article/details/82902349动态代理介绍Java动态代理与静态代理相对,静态代理是在编译期就已经确定代理类和真实累的关系,并且声称代理类的,二动态代理是在运行期利用jvm的反射机制声称代理类,这里是直接生成类的字节码,然后通过类加载器将字节码文件加载到Java虚...原创 2019-12-13 18:35:35 · 355 阅读 · 0 评论 -
JAVA高级特性之——反射
JAVA高级特性之——反射一、什么是反射JAVA反射机制是在运行状态中,对于任意一个雷,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为JAVA语言的反射机制;二、JAVA反射相关的类Class类:代表类的实体,在运行的JAVA应用程序中表示类和接口;Field类:代表类的成员变量(成员变量也称为类的属性);...原创 2019-12-13 17:37:40 · 577 阅读 · 0 评论 -
Java代理模式详解
Java代理模式参考文章:https://www.jianshu.com/p/41f28d7ef6f1https://www.jianshu.com/p/bacaafb5d02d一、代理模式介绍1. 代理模式的重要性:spring底层就有用到动态代理模式,spring这个矿机中所周知是非常重要的,因此如果不学习动态代理这块内容,想学好spring是比较吃力的,当然spring还是用了动...原创 2019-12-12 17:45:51 · 721 阅读 · 0 评论 -
JAVA并发编程:线程的交替打印问题
问题一描述创建3个线程A、B、C、线程A打印字母A,线程B打印字母B,线程C打印字母C;但要求三个线程同时运行并交替打印,即按照ABCABC的顺序打印;设计思路如下:第一步:创建ReentrantLock对象,用于在三个线程中加锁;第二步:创建整型变量,用于控制输出内容;第三步:创建线程对象,用于输出;第四步:启动线程对象,输出结果;具体代码如下;public class ABC_...原创 2019-10-21 18:22:32 · 569 阅读 · 0 评论 -
Spring BeanFactory与FactoryBean的区别
BeanFactoryBeanFactory是一个Bean的工厂类,用来管理spring容器中注入的bean,有了BeanFactory的实例我们就可以获取注册到容器中的bean了,Bean Factory中具体提供的方法如下:BeanFactory中比较常用的子类有ListableBeanFactory;另外,我们关心和使用比较多的时Bean Factory的子类时ClassPathXml...原创 2019-10-16 22:11:43 · 363 阅读 · 0 评论 -
spring task 和线程池研究
原文地址:http://blog.youkuaiyun.com/qihezhuanjia123/article/details/73604955涉及如下内容1、如何实现spring task定时任务的配置2、task里面的一个job方法如何使用多线程,配置线程池如何配置等待子线程结束后,再结束主线程1、如何实现spring task定时任务的配置因工作需要,需要定时执行一个方法,通过...转载 2018-02-27 20:26:14 · 611 阅读 · 0 评论 -
Java多线程面试知识点汇总(超详细总结)
一、sleep()方法、wait()方法、yeild()方法、interrupt()方法、notify()、notifyAll()方法 1、sleep()方法: sleep方法为Thread的静态方法; sleep方法的作用是让线程休眠指定时间,在时间到达时自动恢复线程的执行; sleep方法不会释放线程锁;2、wait()方法: wait方法是Object的方法; 任意一个对象都...原创 2018-02-28 21:57:15 · 16381 阅读 · 3 评论 -
Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 原文出处: 海子volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Jav...转载 2018-03-08 21:45:36 · 187 阅读 · 0 评论 -
深入理解Java之线程池
原文出处: 海 子在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来...转载 2018-03-08 22:52:23 · 239 阅读 · 0 评论 -
java 实现http请求的三种方式
目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpClient3.1的代码还是很多,HttpCl...转载 2018-05-07 14:09:54 · 3178 阅读 · 0 评论 -
springboot整合RabbitMQ详解
springboot整合RabbitMQ一. 消息中间件产生的背景1、在网络通讯中,Http请求默认采用同步请求方式,基于请求与响应模式;2、客户端与服务器进行通讯时,客户端调用服务接口后,必须等待服务端完成处理后返回结果给客户端才能继续执行,这种情况属于同步调用方式;3、如果服务器端发生网络延迟、不卡大的情况,可能客户端也会受到影响;二. 消息中间件的作用消息队列中间件是分布式系统中...原创 2019-03-25 18:42:55 · 542 阅读 · 2 评论 -
springboot的maven多子模块项目整合jsp报错详解
springboot的maven多子模块项目整合jsp报错详解根据我之前的一篇blog:使用idea整合 spring boot 和jsp详细教程,这篇博客针对的是一个不包含子项目的spring boot maven项目,当项目中只有一个父项目时,上述教程可是正常的访问到jsp页面,但是当你在子项目中创建module并添加maven依赖,添加jsp并启动项目时,系统无法找到页面并报404;本教程...原创 2019-04-07 12:10:45 · 3743 阅读 · 13 评论 -
深入理解Java的接口和抽象类
原文链接:http://www.cnblogs.com/dolphin0520/p/3811437.html深入理解Java的接口和抽象类对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和...转载 2019-05-17 15:17:00 · 223 阅读 · 0 评论 -
Java互联网面试题之有XX网(互联网金融C轮企业)面试题
本次面试题是本人面试后的总结,我把所有能想到的都写了,如果有什么不对的,请各位指正XX网面试问题1、 oracle和mysql分页都是怎么分页的?2、 Oracle 的rowID和rowNum有什么区别;3、 Oracle或者mysql数据量比较大的时候分页怎么分才会比较快,即如何用rowID关键字来快速分页;4、 Mysql数据量非常大(几百万几千万)的时候怎么原创 2017-11-12 13:42:26 · 3234 阅读 · 0 评论 -
ArrayList和linkedList的区别
转自:https://www.cnblogs.com/sierrajuan/p/3639353.htmlArrayList和Vector使用了数组的实现,可以认为ArrayList或者Vector封装了对内部数组的操作,比如向数组中添加,删除,插入新的元素或者数据的扩展和重定向。LinkedList使用了循环双向链表数据结构。与基于数组ArrayList相比,这是两种截然不同的实现转载 2017-11-12 12:18:32 · 434 阅读 · 0 评论 -
类变量和实例变量的区别
类变量和实例变量的区别每次创建一个类的对象的时候,系统为它创建了类的每一个实例变量的副本。我们就可以从对象中访问该实例变量。类变量或说静态变量跟实例变量是不一样的,不管为一个类创建了多少个对象,系统只为每个类变量分配一次存储空间。系统为类变量分配的内存是在执行main方法时马克-to-win, 就是在程序最最开始的时候(见下面StaticDemo的例子)。所有的对象共享了类变量。可以通过转载 2016-02-23 18:08:44 · 1441 阅读 · 0 评论 -
spring 简介
Spring简介Spring框架由Rod Johnson开发,Rod Johnson’s twitter,Rod Johnson’s 百度百科,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。Spring总结起来优点如下:低侵入式设计,转载 2016-04-07 17:01:29 · 367 阅读 · 0 评论 -
spring 注解
概述注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。注释和 Java 代码位于一个文件中,而转载 2016-04-07 18:09:28 · 227 阅读 · 0 评论 -
POI操作Excel常用方法总结
一、 POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。二、 HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。HSS转载 2016-04-13 09:51:59 · 629 阅读 · 0 评论 -
java web 文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fil转载 2016-08-26 10:54:17 · 920 阅读 · 0 评论 -
java读取.properties配置文件
Java 读写Properties配置文件1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。2.Properties中的主要方法(1)load(InputStream inStrea转载 2016-12-21 10:18:48 · 324 阅读 · 0 评论 -
数字金额和汉字金额大写转换【前段+后台】
public class Change { publicstatic void main(String agrs[]) { //整数 System.out.println(digitUppercase(0)); // 零元整 System.out.println(digitUppercase(1转载 2016-04-16 18:47:39 · 1736 阅读 · 0 评论 -
Spring定时器corn表达式详解
1.结构Spring定时器corn表达式详解2.各字段的含义 字段允许值允许的特殊字符秒0~59- * /分0~59- * /小时0~23- * /日期1~31- * ? / L W C 月份1~12或者或者 JAN-DEC- * /转载 2017-05-04 16:04:24 · 23195 阅读 · 0 评论 -
String StringBuffer StringBuilder 的区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String转载 2017-06-26 22:45:06 · 210 阅读 · 0 评论 -
jsp 通过ajax从后台取值存到前台缓存中,并使用
//从后台取值,返回json$.ajax({ type: "POST", url:"${ctx}/drivingRevenue/drivingRevenueUpManage/get?id=${id}", async:false, datatype: 'json', success: function(result){原创 2017-06-15 09:41:09 · 3853 阅读 · 0 评论 -
java 虚拟机加载类的途径
虚拟机加载类的途径1、由 new 关键字创建一个类的实例 在由运行时刻用 new 方法载入 如:Dog dog = new Dog();2、调用 Class.forName() 方法 通过反射加载类型,并创建对象实例 如:Class clazz = Class.forName(“Dog”); Object dog =clazz.newInst转载 2017-08-22 23:15:45 · 220 阅读 · 0 评论 -
java反射机制调用方法
这是个测试用的例子,通过反射调用对象的方法。 TestRef.javaimport java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException;/** * Created by IntelliJ IDEA. * File: TestRef.java * U转载 2017-09-06 23:23:56 · 339 阅读 · 0 评论 -
Java IO流
IO转自:http://blog.youkuaiyun.com/lihuapiao/article/details/507314051.IO概念 ·输入流:把能够读取一个字节序列的对象称为输入流(百度百科) ·输出流:把能够写一个字节序列的对象称为输出流(百度百科) 从定义上看可能会让你感到困惑,这里解释一下:输入输出是相对于内存设备而言的,将转载 2017-11-09 22:36:29 · 202 阅读 · 0 评论 -
【转】java垃圾回收制度
1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放转载 2015-10-20 09:32:12 · 467 阅读 · 0 评论