Java
文章平均质量分 84
IT回忆录
谋事在人
展开
-
openjdk-jdk8-b109 hotspot虚拟机启动过程分析_1
基于OpenJdk 标签 jdk8-b109版本分析HotSpot是由Oracle开发的Java虚拟机(JVM)的一种实现,也是使用最广泛的JVM之一。原创 2023-10-17 15:26:02 · 231 阅读 · 0 评论 -
在Windows平台编译OpenJdk8
学习了一段时间OpenJdk源码后,需要实践来验证自己对jvm各个组件运作机制的理解是否正确,这需要通过调试jvm来实现,而在windows平台编译openjdk是比较繁琐的,这其中遇到了一些坑,记录下build的过程以备不时之需。原创 2023-10-16 09:58:53 · 454 阅读 · 0 评论 -
Java线程同步方式记录
jvm对java多线程做了很多优化,这里对java线程的多个同步方式做一个记录。synchronized关键字 被该关键字修饰的方法块或方法执行时,会先尝试获取锁,如果其它线程已获取锁,则等待线程释放锁,多个线程等待锁时,不是按照等待获取锁的线程顺序来获取锁,这是一个重量级锁,底层会使用monitorenter、monitorexit指令,jvm会采取一定的优化措施private void incr(){ synchronized (SyncService.cl...原创 2020-12-24 17:02:00 · 135 阅读 · 0 评论 -
Java9的Module机制研究
从Java9开始支持了模块化机制,可以按照模块划分功能,总结下来Module有以下优点:JRE可定制化 Java9前需要在目标机器上安装完整的JRE环境,JRE是包含运行java程序的所有需要的库,但里面的东西并不是所有应用都需要,通过Module可以为应用量身定制JRE,这大大减少了JRE的大小和运行时内存消耗,如应用只需要依赖java.base模块,那么我们可以定制一个只包含java.base模块的JRE,这样去掉用大量无需用到的类库,整个JRE的运行消耗更少,更轻量化。封装性...原创 2020-10-29 21:11:42 · 416 阅读 · 0 评论 -
Java WebService复习之WSDL
有段时间不写博客,一直在忙碌最近项目中用到了WebService,所以把它写下来,一来复习复习二来与大家共同学习交流。什么是WebService? WebService是各个不同的、相互独立的系统进行通信的一种技术标准。有什么用? 可以实现多终端系统交互,如 手机、PDA、等(Android等大量的使用了WebService) 在学习如何原创 2013-12-21 14:33:43 · 758 阅读 · 0 评论 -
Java 加载Jar包
//Jar包的路径 File f=new File(""); String path=f.getAbsolutePath()+File.separator+"JavaServer.jar"; //使用类加载器加载 JarFile jarfile=new JarFile(new File(path)); URL url=new URL("file:"+path); Cl原创 2014-06-27 10:40:25 · 801 阅读 · 0 评论 -
Java Swing 布局管理器
package javagui.ui;import java.awt.Color;import java.awt.Image;import javax.swing.ImageIcon;public class GUIMain { public static void main(String[] args) { /*Window1 win1=new Window1()原创 2014-07-08 11:35:29 · 717 阅读 · 0 评论 -
Java动态代理回顾
代理:代替某人做一些事情这里引申出几个属于 委托人、被委托人通俗说就是 我要找刘德华打广告,我不能直接找上他本人,我要先找他的代理人才行。为什么不能找上他本人呢?因为代理可以为他过滤掉一些收益不高或者公司实力不雄厚的广告业务,也就是说代理存在的意义是在真正做某件事前,先做一些事前准备。Java中有两种代理实现方式 静态代理、动态代理静态代理:静态代理实际上就是声明一个...原创 2018-09-13 12:29:01 · 188 阅读 · 0 评论 -
Mybatis使用
什么是Mybatis官网的介绍 Mybatis是 支持 自定义SQL、存储过程、高级映射的基于Java语言开发的数据库持久性框架。在日常Java开发中,离不开数据库操作,Java通过JDBC来操作数据库,但JDBC操作繁琐,不利于快速开发。Mybatis把JDBC的繁琐细节都处理了,可以让我们专注业务功能的开发。首先要明白Mybatis的两个重要概念Configuration和Ma...原创 2019-03-18 19:15:53 · 151 阅读 · 0 评论 -
Struts 1.X工作原理
Struts 是Apache所开发的一个web应用框架,用来简化web开发的中常用、重复的工作。原理图:在以前的的开发中,浏览器的请求会找一个Servlet处理,然后返回浏览器,而在struts中所有的请求都会找一个叫做ActionServlet处理,它会根据配置文件配的action来将请求交给指定的Action来处理。 配置Struts:1.引入Struts的jar包原创 2013-09-20 22:57:14 · 709 阅读 · 0 评论 -
Java 内省技术(Introspector)
Java 中类的成员变量的访问级别为private ,分别用get 和set来访问和设置这个成员变量的值。JavaBean 它是一个普通的Java类,用来封装数据,Introspector(内省技术)用来访问Java 类的get 和set 方法(我不认为他们是属性,他们跟普通的方法没什么区别)。 /*** * Dog 类 * @author dream * */public原创 2013-09-06 14:49:02 · 669 阅读 · 0 评论 -
DBCP 数据库连接池配置
1.准备相关jar包和配置文件(可选)commons-dbcp-1.2.2.jar #dbcp 数据库连接池必需的jar包commons-pool-1.5.2.jar #dbcp 数据库连接池必需的jar包config.properties #dbcp 数据库连接池可选的配置文件mysql-connector-java-5.0.8-bin.jar #Mysql 数据库原创 2013-08-01 11:08:09 · 2328 阅读 · 0 评论 -
Java 多线程编程
多线程在软件开发中用得很多,现在几乎所有的软件都用到了多线程,如:QQ、迅雷、eclipe集成开发环境等。什么是多线程?当一个程序启动后就是一个进程,可以理解进程就是CPU的一个执行流程,而多线程就是在一个进程内执行多个线程,相当于在一个执行流程内开辟多个执行序列,举个例子:一个服务员每天要做端菜、洗碗、拖地等事情,每件事情可以理解为一个执行流程,让他开始洗碗那么他必须要把碗洗完了才能原创 2013-03-02 16:14:46 · 1044 阅读 · 0 评论 -
Java Swing编程
JAVA编写的记事本package demo1;import java.io.*;import java.awt.BorderLayout;import java.awt.event.*;import mypackage.FileHelper;import mypackage.WriteStyle;import javax.swing.*;import原创 2013-03-14 11:05:55 · 745 阅读 · 0 评论 -
Java IO编程
//----源文件FileHelper.javapackage mypackage;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;原创 2013-02-27 23:23:19 · 608 阅读 · 0 评论 -
Tomcat 安装
下载tomcat http://apache.etoak.com/tomcat/tomcat-7/v7.0.37/bin/apache-tomcat-7.0.37-windows-x86.zip下载JDK 到oracle官方网站下载即可1.安装JDK新建一个目录用于安装java jdk,如d:\java 设置环境变量:在PATH环境变量中加入JDK安装目录中bi原创 2013-03-21 22:31:10 · 699 阅读 · 0 评论 -
java字节码反编译工具jad文档翻译
Java 反编译工具JAD文档翻译阅读这个jad使用文档,“快速”的java字节码反编译工具jad官方网站:http://www.kpdus.com/jad.htmlCopyright 2001 Pavel Kouznetsov (jad@kpdus.com)一、要求:1.请阅读jad官方首页的声明2.安装解压压缩文件到你的电脑任意磁盘分区,这将原创 2013-04-23 12:33:07 · 986 阅读 · 0 评论 -
Java EL函数库
EL函数库一、EL表达式empty 运算符empty判断对象是否为null或者空EL表达式通常以.方式获取对象属性.获取不到请用[](必须记住)EL主要作用:1.获取数据 . []2.执行运算 + - * / % == empty等等3.获取web应用程序中常用对象request pageContext等4.调用Java方法EL函数:就是调用JAVA类的方法原创 2013-05-18 22:57:01 · 1610 阅读 · 0 评论 -
JDBC 操作数据库(Access、Mysql、Mssqlserver、Oracle)
JDBC操作数据库的步骤:一、加载数据库驱动二、创建数据库连接三、执行SQL语句四、获取结果集五、释放资源1.JDBC 操作Access数据库package xgn.database;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;i原创 2013-06-23 22:04:05 · 1284 阅读 · 0 评论 -
JDBC 数据库连接池
通常java应用程序在访问数据库时,直接创建一个数据库连接,使用完毕后释放连接。如图:当数据库连接量小的时候这样做并无不妥,但若在访问量大的时候就显得低效了,如某网站一天访问量在1000万次,那么在这一天web应用程序与数据库就要进行等量的连接和断开操作。 为了解决这个问题,引入了数据库连接池技术(个人认为数据库连接池技术是为解决这个问题的),它是批量创建一批数据库连接,放原创 2013-08-01 09:32:17 · 827 阅读 · 0 评论 -
java文档注释
java中注释有一下几种:1//单行注释2/*多行注释*/3/**文档注释*/第三种是用来生成帮助文档的,sun公司提供了一个工具javadoc可以用来生成程序文档/***这是一个用于表示引擎的类*@author Demo1*/class Engine{ /** *启用引擎 *@param 工作级别 */ pu原创 2013-02-19 21:30:05 · 525 阅读 · 0 评论