- 博客(55)
- 资源 (4)
- 收藏
- 关注
原创 学习——java对象解析和锁升级
申请对象是使用new创建一个对象时,字节码指令如下package jvm.study;CODE:public class Test { public static void main(String[] args) { Test t = new Test(); }}Main 方法中BYTECODE 0 new jvm.study.Test [1] 3 dup...
2020-05-06 18:08:17 251
原创 Spring源码学习系列第一篇
相信对于从事java开发的工程师,没有人不晓得Spring,它替代了EJB,成为当今最流行的开发框架,特别是在互联网,特别是移动互联网当道的今天,模块化的微服务更是盛行,springBoot,spring cloud日渐成为新宠。 从事软件开发数年,一直使用Spring框架,但是一直没有机会学习其源码,趁着工作闲暇之余,了解学习Spring源码,学习这些伟大的产品的设计方案和实现原理
2017-03-05 00:32:38 706
原创 java密码学系列学习之一
一 消息摘要算法 1)MessageDigest引擎类 引擎类总是跟SPI结尾的类形影不离,SPI结尾的类是服务提供接口,供自定义算法继承。MessageDigest就是sun提供的继承MessageDigestSpi摘要算法 java7 支持MD2,MD5,SHA-1,SHA-256,SHA-384,SHA-512六种消息摘要算法 常用ap
2016-08-22 14:05:35 1298
原创 maven javaproject工程打可执行jar包
pom.xml配置 主要配置在插件这块 org.apache.maven.plugins maven-jar-plugin 2.4 test-jar
2016-08-17 21:20:19 1262
转载 Java中byte与16进制字符串的互相转换
Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H) + new String(L)。即byte用十六进制表示只占
2016-07-28 13:01:05 401
转载 Base64笔记
1.昨天的《MIME笔记》中提到,MIME主要使用两种编码转换方式----Quoted-printable和Base64----将8位的非英语字符转化为7位的ASCII字符。虽然这样的初衷,是为了满足电子邮件中不能直接使用非ASCII码字符的规定,但是也有其他重要的意义:a)所有的二进制文件,都可以因此转化为可打印的文本编码,使用文本软件进行编辑;b)能够对
2016-07-28 12:59:42 392
转载 Ant自动编译Java project时无法找到rt.jar的处理方法
最近在使用Ant自动化编译打包一个Java项目,执行时总是报有class找不到: [javac] Compiling 46 source files to /A/B/C/D/build/staging/bin [javac] .../ChangePassWordTool.java:5: package com.sun.org.apache.xml.internal.secu
2016-07-27 18:16:14 1004
转载 Java获取package下所有的class对象(普通文件包和Jar文件包)
http://dyygusi.iteye.com/blog/1990548?utm_source=tuicool&utm_medium=referral
2016-07-26 17:18:13 450
原创 maven 问题
问题1: 建立好一个Maven项目后,如果Java Resources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”。这说明,在这个项目配置中已经有了src/main/java这个文件夹或者是maven目录以级联显示,而不是source package模式(src/main/java)形式显示 buildpath则显示
2016-07-18 13:43:06 1244 2
转载 使用命令行启动VirtualBox虚拟机
使用命令行启动VirtualBox虚拟机装上VirtualBox就琢磨着如何让它开机自动启动,又或者能够通过命令行的形式直接启动指定的虚拟机。看了下VirtualBox的官方文档,发现有一个命令可以满足我的需求,即VBoxManage。VBoxManage提供了一系列的虚拟机管理命令,包括创建/删除/启动/修改等等,这里不一一列举。有点像Xen的XM命令。不过这里只关心启动虚拟机的命令:V
2016-05-31 09:40:35 2899
原创 远程登录Linux图形化界面
安装xdmyum install -y xdmStep1: 编辑/etc/X11/xdm/Xaccess,将下面的行: #* # any host can get a login window 改为: * # any host can get a login windowStep2: 修改/etc/gdm/gdm.conf,找到下面的信息: [s
2016-05-30 19:02:42 1610
原创 SVN版本库实时备份整理
因为公司最近SVN服务器的文件特别多,数据量很大,有500g,而用于备份的外接磁盘除了故障,因此需要在这段时间对svn服务器上的数据做备份,所以特地研究了下svn库的备份,因为平时不怎么接触服务端,一般就用svn客户端TortoisSVN对代码checkOut,commit,update简单的操作。所以整理了份不同服务器间进行库备份的文档,并记录下来,供大家参考,也方便日后复用。 s
2016-05-26 22:27:56 14556 1
原创 java中GC回收和内存分配
前文讲过垃圾回收主要管理的区域是堆内存,而堆内存主要是存放对象实例,那么要对对象实例进行回收前,必须确定该对象是否还有对他的引用,也就是该对象在内存中是否已经死了?引用计数算法: 有很多语言采用的是引用计数算法,每当有一个地方引用它时,引用计数就加1,当引用计数为0时表示该实例不再被使用,可以被回收。通常情况下引用计数是一个不错的算法,如Object-C,python等都使用
2016-05-24 16:40:03 1194
原创 JVM运行时数据管理区
JVM 在执行java程序的过程中会把它所管理的内存划分若干个不同的数据区域,这些区域用途不同,创建及销毁时间也不同,有些区域随着虚拟机的进程启动而存在,有些区域则随着用户进程的启动结束而创建和销毁根据java se 7规定,jvm管理的内存包括一下几个运行时数据区域如图:介绍:程序计数器: 是一块较小的内存空间,它可以看做是当前线程所执行字节码的行号指示器。在jv
2016-05-24 15:18:59 802
转载 JAVA中关于String类型的创建和字符串常量池的问题
在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。 8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:1)直接使用双引号声明出来的String对象会直接存储在常量池中。
2016-05-23 23:25:08 5020 1
原创 数组排序
1,冒泡排序: public static void main(String[] args) { int[] arr = { 29, 13, 33, 10, 27, 84, 2, 30, 19, 40 }; /** * 冒泡排序: 两两比较,较大的就往后移动 * 外层循环完毕,大数就固定一位(右--->左) * 比较的时间级别为O(N^2) (N-1)+(N-2)+
2016-04-11 17:46:07 403
转载 PL/SQL激活码
License Number:999Password:xs374caProduct Code:ljkfuhjpccxt8xq2re37n97595ldmv9kchSerial Number:302967
2016-03-11 13:34:12 1196
原创 oracle的physical dataguard的配置过程
条件:本测试两台服务器,采用centos6.5 :一台创建oracle数据库,主机名centosorcl,ip: 192.168.193.100 SID:ORCL一台只安装了oracle软件,主机名centosorcl_dg,ip 192.168.193.110Orcl: 主库(192.168.193.100 )的tnsnames 串Orcl_dg: 备库(192.168.19
2016-01-26 14:42:50 581
原创 ORA-01078 和 LRM-00109 报错解决方法 及oracle数据库的几个名称
将$ORACLE_BASE/admin/数据库名称/pfile目录下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目录下initoracle.ora即可。(注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)cat init.ora.6212012171120 >/u01/app/oracle/product
2016-01-17 18:00:57 813
原创 Centos6安装oracle
linux上安装oracle确实还挺不容易的,需要安装相当多的依赖库,倒腾了挺久,终于安装成功,记录下以防以后再此安装,因为实在记不住需要依赖那些库1,创建oracle用户,用户组及安装目录:创建oracle用户及用户组groupadd oinstall #创建用户组oinstallgroupadd dba #创建用户组dbauseradd -g
2016-01-16 20:18:45 719
原创 数据库中间键mycat 实现oracle数据库读写分离
首先 下载mycat中间键 下载地址 https://github.com/MyCATApache/Mycat-download 本文采用的是1.4linux下可以采用wget命令下载到opt目录:wget https://github.com/MyCATApache/Mycat-download/blob/master/1.4-RELEASE/Mycat-server-1.4
2016-01-14 17:11:01 17110 7
原创 Tomcat7+redis 实现session共享
版本:Tomcat7Jdk7Redis2.8.2Nginx1.9.7对于web应用分布式部署做负载均衡的话,目前市场上比较火的nginx,因为其高性能而受到青睐,本测试文档就采用nginx。Niginx的下载安装配置启动下载地址:http://nginx.org/ ,将下载的nginx zip包解压至e:/nginx配置nginx.conf打开e:/nginx/
2016-01-05 10:04:49 1135
原创 360公司开源Atlas快速上手安装配置
机器系统Centos6.5下载atlas的rpm包下载地址https://github.com/Qihoo360/Atlas/releases ,因为不涉及跨机器分表,所以,版本采用Atlas-2.2.1下载Atlas-2.2.1.el6.x86_64.rpm (centos6),注:centos5请下载Atlas-2.2.1.el5.x86_64.rpm(cent
2015-12-30 15:11:02 2692
转载 weblogic下部署工程静态资源文件 *.js不能访问
最近把工程部署 到webogic容器下,问题颇多,在Tomcat下运行正常的应用,在weblogic下频频抽风,先是部署不起来报错,具体报错原因参看上篇文章java web项目Tomcat转移到weblogic部署失败解决 ,解决完部署问题,终于可能访问页面了,又出现页面所有的js页面无法解析,试着访问js路径,报404错误,日志中频报#### > <Connection
2015-12-25 11:10:38 12220
转载 java web项目Tomcat转移到weblogic部署失败解决
公司开发项目一直用tomcat,最近把项目部署到weblogic下用eclipse打印日志报错: org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlTokenorg.springframework.beans.factory.BeanCreationException
2015-12-24 11:52:30 3510
原创 weblogic安装与eclipse集成
详细安装请参看:http://blog.csdn.net/gaofuqi/article/details/36870887/ 写的很详细因为weblogic安装的是10.3.6,默认安装的java环境是1.6,所以当把eclipse项目加入weblogic server时报 “Project facet Java version 1.7 is not supported.”项目中
2015-12-23 22:12:02 1148
原创 上传下载分布式部署FASTDFS安装与配置
FASTDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用Linux虚拟机安装下载VMWARE:vmware可以从官网上下载
2015-12-17 14:48:08 2065
原创 maven部署web应用的两种方式
第一种方式:使用jetty-maven-plugin插件部署web应用首先 配置maven的conf目录下的settings.xml文件在其中配置: org.mortbay.jetty 因为此插件不是官方插件,如果不配置,默认是搜"org.apache.maven.plugins" and "org.codehaus.mojo",所以配置此插件的groupI
2015-12-17 00:15:53 2526
转载 wmware虚拟网卡 VMnet8 VMnet1未识别网络解决方法
VMware Network今天ping了下虚拟机和主机 ,ping不通。后来发现VMware Network Adapter VMnet1和VMnet8 被归入[未识别的网络解决方法:1,进入注册表[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-080
2015-12-12 16:53:35 9001 3
转载 命令行发布jar到私服
目的: 将本地的一个snapshot第三方jar,发布到nexu私服的snapshot仓库中命令:mvn deploy:deploy-file -DgroupId=copy.maven.plugin -DartifactId=copy-maven-plugin -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Df
2015-12-11 17:49:30 1743 1
原创 Maven工程显示小红叉,项目编译打包运行都可以以
Windows -show view -Prolems 在Prolems中找到项目的error信息如果是报:Description ResourcePath LocationTypeProject configuration is not up-to-date with pom.xml. Run project configuration updatetomcat-re
2015-12-09 11:12:25 819
原创 JASIG-CAS单点登陆服务端客户端配置
最近研究了下cas单点登录,用了应用广泛的JASIG,可惜的是官网在我天朝打不开,不过也挡不住我的步伐。废话就不说了,今天先简单的记录下对于服务端研究的笔记。以备过后查看。下载服务端地址:http://developer.jasig.org/cas/ 我下载的是3.5.2版,最新的是4.x版的。单点登录一般都采用https协议,那么生成证书就采用sun公司提供的keytool命令来生成
2015-11-28 21:11:13 1921
原创 简单的js正则表达式知识点笔记
window.onload = function(){/* \b \B (?=N) (?!N) 匹配的都是位置,如果前后有字符 则匹配位置上的字符*///test();//zhongkuohao();quantifier();}/*量词:n+ :至少一个n n? :零个或者一个 //经常这样用 某字符后有0或1个另一字符的匹配 例如:to? "toap
2015-09-30 15:58:19 384
原创 SVG可伸缩矢量图形学习笔记
首先SVG是XML文件,SVG图像可以用任何文本编辑器创建,但它往往是与一个绘图程序一起使用,如Inkscape,更方便地创建SVG图像。示例文件: "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> stroke-width="2" fill="red" />
2015-09-28 14:59:42 1296
原创 浏览器的各种长度宽度clientX clientY pageX pageY x y
1,首先测试pageX ,pageY和clientX clientY 鼠标固定某一位置,通过上下键来移动滚动条,发现clientX clientY始终不变,pageX ,pageY随时变化 pageX,pageY: 以页面为左上角(绝对位置)为参考点,鼠标所在位置坐标是随时变化的 clientX, clientY :以当前看到页面的左上角(相对位置)
2015-09-18 11:53:19 1028
原创 JS事件知识的一些小整理
事件注册: js事件常用的注册方式 一、 dom.onxxxx=function(){},给dom队形的onxxxx属性绑定句柄,这种方式只能绑定一种方法,如果绑定多个则采用第二种 二、 dom.addEventListener(type,listener,userCapture),参数type:“click”,“dbcl
2015-09-17 18:41:02 397
原创 objective-c中的协议和类别
Objective-c语言的的面向对象的继承特性秉承了但继承的特性,这样避免的多重继承下会出现的缺陷,可是同样会有单继承的不足。在java方面,是通过接口的方式提供解决,类可以通过实现接口中的方法来解决实际的问题。而Objective-c中采用的是协议的方式,虽然叫法不同,但是其实质是类似的。不过是不同变成语言的差异化。 不同于java中的接口关键字Interface,obj
2015-09-07 16:21:58 725
原创 不可变字典NSDictionary 和可可变字典NSMutableDictionary
// 字典 NSDictionary * dic = [[NSDictionary alloc]initWithObjectsAndKeys:@"TEST",@"00",@"test02",@"02", nil]; //键枚举器遍历 还有值枚举器遍历[dic objectEnumerator]; NSEnumerator * key = [d
2015-09-01 23:07:23 532
原创 Objective-c 之数组NSArray 可变数组NSMutableArray
笔者在最近抽空了解学习了下Objective-c语言,看到数组NSarray和可变数组NSMutableArray,就随手把看到的只是记录下,以免忘记不可变数组 NSArray 首先定义一个数组 NSArray * array =[[NSArray alloc]initWithObjects:@"TEST1",@"Test2",@"Test3",nil];对定义的数组直接N
2015-09-01 22:52:39 493
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人