
java开发
文章平均质量分 56
node2017
这个作者很懒,什么都没留下…
展开
-
java jvm-类加载器层级结构
类加载器由上到下有引导类加载器,继承类加载器,应用程序加载器,你还可以自己自定义加载器。类加载器在加载类的时候,采用的是代理模式,具体代理是双亲代理模式这里systemout输出的是“123”,为什么kkk.toString()打印出来不是”自定义string”呢,是因为java加载类的时候,默认采用双亲代理机制,即在加载类的时候,不先由本应用程序的类加载器加载,而是由父加载器加载,而父加载器加载类原创 2016-05-23 20:18:43 · 796 阅读 · 0 评论 -
qpid java broker的安装和配置
apache qpid 是一款实现amqp协议的消息中间件,qpid的简介参考https://www.baidu.com/link?url=JT6nIIVFn78HyQeLhOoJu4xcyrrnUlbx2okM9FGVzyf4efe7_zFsEXjDiZAFpmXtKpQ8rjdZyNhSYygHZD59UIiRNocL83Zk_GRv73rzcRe&wd=&eqid=b7f4bd9a0005e5原创 2016-05-03 21:19:13 · 6644 阅读 · 0 评论 -
HBase 常见Shell命令总结
用HBase的时候,老是忘记一些shell命令,每次都需要上网查,好麻烦,干脆就把常见的shell都总结一下吧。进入命令行界面1、进入shell命令行界面./hbase shell表结构相关命令2、创建表结构,这里创建test表,包含fcol1,fcol2create 'test', 'fcol1', 'fcol2'#或create 'test', {NAME => 'fcol1', VERSI原创 2016-06-12 21:11:20 · 1190 阅读 · 0 评论 -
hadoop MapReduce运行机制
MapReduce是hadoop的计算框架,用于大规模数据集的并行运算。俩个主要的节点,ResourceManager和NodeManager。ResourceManager:资源的管理者和协调者,使用Container来管理集群资源,container包括一些io,内存等资源。ResourceManager在管理和协调上主要由俩个组件构成,Scheduler和ApplicationsManager原创 2016-06-12 11:37:04 · 1179 阅读 · 0 评论 -
hadoop hdfs运行机制
hdfs特点hdfs是hadoop的分布式文件系统,用于存储大数据,它的特点是: 1.分布式部署,利用廉价的机器存储大数据 2.提供副本机制,容错机制,在机器宕机或副本丢失,自动恢复,默认副本保存3份关注三个主要节点:1.NameNode:整个文件系统的管理节点,接收用户的请求,保存着文件/目录的元数据信息和每个文件对应的block的映射列表。在linux系统上,它保存着三个重要文件 a.fs原创 2016-06-11 13:27:36 · 2330 阅读 · 0 评论 -
自定义标签 + shiro 实现权限细粒度控制
这里我们是使用shiro来实现登录验证,授权等操作,然后利用自定义jsp标签来实现权限菜单的细力度控制。所谓的细粒度控制,就是根据用户登录权限的不同,显示不同的菜单,例如,用户如果有添加用户,修改用户的权限,我们就显示这个俩个菜单,然后我们并不显示删除用户的菜单。如何自定义jsp标签1.定义一个权限标签,命名为mytag.tld<?xml version="1.0" encoding="UTF-8"原创 2016-06-03 14:24:15 · 32144 阅读 · 5 评论 -
hadoop安装和配置(很简单)
我的环境是vmware12 + rhel7 + hadoop2.4 + jdk7linux环境配置1.配置网络ip地址和主机名,这里我配置的ip地址是192.168.137.102,主机名为rhel7-02 2.安装jdk并配置jdk环境变量 3.关闭防火墙,rhel7关闭防火墙的方法如下:systemctl status firewalld //查看防火墙状态systemctl stop原创 2016-06-02 18:22:21 · 1677 阅读 · 0 评论 -
java jvm-自定义类加载器
除了可以用系统默认的类加载器,我们还可以用实现自己的类加载器,类加载器实现步骤如下:1.定义一个类继承ClassLoader 2.重写findClass方法,用来查找具体的类字节码 3.实例化自定义的类加载器,调用loadClass即可加载类下面我们来自定义一个类加载器,加载我们自己路径的类字节码package com.jvm.demo;import java.io.File;import j原创 2016-05-23 20:28:58 · 618 阅读 · 0 评论 -
java jvm-类加载过程
JVM把java字节码加载到内存中,并对字节码进行校验,解析,初始化,最终形成JVM可以直接使用的java类型的过程叫做类加载机制类加载机制过程:字节码加载 将.class字节码文件加载到内存中,并在内存方法区(特殊的堆)中形成运行时的数据结构,并在堆中生成java.lang.class对象,作为方法区类数据的访问入口验证,准备,解析 确保类加载信息符合jvm规范,然后就给静态变量,静态方法,常原创 2016-05-22 23:08:13 · 832 阅读 · 0 评论 -
java jvm-"=="和equal,堆和栈的区别和联系
java中的”==”和equal都是用于俩个变量的比较 java中的 “==”:用于比较俩个变量的引用地址 java中的”equal”:用于比较俩个变量的内容java堆和栈都是内存 java的堆:用于存放具体对象的实例和数组,java基础类型的字面值等 java的栈:用于存放java堆中对象实例,数组,基础数据类型的引用变量等例如 : int a = 3 3是基础数据类型字面值,存放于堆原创 2016-05-22 16:41:45 · 872 阅读 · 0 评论 -
spring 集成apache qpid 简单demo
spring 提供spring-jms模块,用以集成JMS到spring 容器中,并提供jmsTemplate模版类来操作jms,类似集成jdbc数据库操作一样。首先,我们新建一个applicationContext-qpid.xml来做qpid的集成操作<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springfra原创 2016-05-07 23:49:10 · 5201 阅读 · 0 评论 -
下载安装Apache HTTP Server 2.4
Apache HTTP Server 是最流行的免费http服务器,它和tomcat的区别和联系apache 是静态http服务器,只可以处理例如html的静态网页和一些图片文件等静态资源,tomcat是jsp/servlet容器,可以处理jsp和servlet的动态资源tomcat已经集成了http链接器,单独跑的时候,可以接收http请求,但在处理静态的时候,不如apache理想tomca原创 2016-05-14 21:36:50 · 6309 阅读 · 0 评论 -
mycat实现mysql读写分离,热切换,集群
在互联网时代,实现mysql读写分离,热切换,集群能大大提高mysql数据库访问压力,防止数据丢失,使用mycat能帮我们实现这些。我们要实现的是这种架构。1、Mycat能实现数据库的垂直切分和水平切分,这里用户写数据的时候,通过mycat把数据按照特定的规则存储到mysql-1,mysql-2,mysq-3…中,读的时候,分布从mysql-1,mysql-2,mysql-3…等读出数据然后由tom原创 2016-06-17 10:40:12 · 6784 阅读 · 2 评论 -
mycat是什么鬼?垂直切分?水平切分?
mycat是什么鬼mycat是国人开发的一款开源的数据库中间件,他的作用就是伪装成一个真的数据库,然后在它背后,连的是多种类型,集群分布式的真实数据库。他的体系结构就像下面:需要理解mycat的几个概念。schema:逻辑库,与MySQL中的Database(数据库)对应,一个逻辑库中定义了所包括的Table。 table:表,即物理数据库中存储的某一张表,与传统数据库不同,这里的表格需要声明其所原创 2016-06-17 08:59:11 · 11032 阅读 · 2 评论 -
mysql主主复制,只因为mycat集群需要
本来想着搭建一下mysql的主从复制,可以把mycat的mysql集群搞起来,发现,mysql主从搭建的mycat mysql集群不太合理,所以,还是用先搭建下mysq的主主复制吧。顺便记下笔记,将来方便查阅。在前篇文章http://blog.youkuaiyun.com/yingxiake/article/details/51691986,mysql的主从复制搭建上,搭建下mysql的主主复制,也是很简单。1原创 2016-06-16 17:49:56 · 3137 阅读 · 0 评论 -
mysql主从复制,很简单
mysql主持很多主从复制架构,将master的数据复制到slave的数据库中。下面将搭建最简单的主从架构,master的ip为192.168.137.103,slave的ip为192.168.137.104,数据库的安装参考http://blog.youkuaiyun.com/yingxiake/article/details/51656970,这里使用的是5.7的mysq版本。1、修改master上的配置文原创 2016-06-16 16:01:38 · 2243 阅读 · 0 评论 -
安装并使用mysql5.7作为hive的metastore
前言hive的metastore默认是使用derby来作为metastore,但是derby有一个缺点是不能支持多用户链接,虽然你可以通过切换目录来支持,但是不同目录的metastore会不一致,所以这里使用mysql来作为hive的metastore。在linux上安装mysql数据库1、下载最新的mysql数据库,这里使用的版本是5.7.13,这里是使用二进制rpm进行安装mysql-commu原创 2016-06-13 13:47:33 · 7338 阅读 · 0 评论 -
zookeeper简介,集群部署
zookeeper是什么Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。好像说得比较抽象,举个场景,在集群分布式服务中,我们常常遇到这些问题1、集群中,每个节点的状态怎么监控,怎么进行负载均衡,一个节点down了,怎么让客户端知道? 2、节点那么原创 2016-06-15 16:18:08 · 2974 阅读 · 0 评论 -
tomcat配置虚拟目录和虚拟主机
在server.xml的host节点配置多个context,就是虚拟目录了,很简单<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="/liuxg1" docBase="/liuxg1" reloadable="true" c原创 2016-05-15 14:39:27 · 1664 阅读 · 0 评论 -
windows apache2.4 基于主机名的虚拟主机配置
配置虚拟主机之前,我们先配置俩个本地域名,打开在C:\Windows\System32\drivers\etc\hosts,添加俩个域名,同ip不同域名新建俩个目录,作为apache服务的根目录在httpd.conf的目录下,新建一个配置文件virtualhost-host.conf,添加虚拟主机配置<VirtualHost *:80> DocumentRoot "E:\liuxg\liux原创 2016-05-15 13:23:56 · 3919 阅读 · 0 评论 -
apache2.4 + mod_proxy + tomcat7 配置集群和负载均衡
集群和负载均衡好处自然不用说,概念不理解查百度,这里介绍下怎么利用mod_proxy配置集群和负载均衡。参考文档 https://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html http://httpd.apache.org/docs/2.4/en/mod/mod_proxy_balancer.html http://httpd.apa原创 2016-05-14 23:17:02 · 5097 阅读 · 1 评论 -
java动态编程-动态编译机制
java可以在运行时,进行动态编译,也就是说,可以在代码中,由程序控制进行编译俩种动态编译方法: 1.执行cmd命令,调用javac进行编译 2.利用java提供的JavaComplier 3.可以利用类加载器还有java反射来执行编译好的字节文件/** * java 动态编译 * @author liuxg * @date 2016年5月24日 上午9:15:00 */public原创 2016-05-24 09:49:55 · 1469 阅读 · 0 评论 -
java动态编程-Rhino脚本引擎
java 6.0提供一些标准接口来操作脚本语言,它让java有能力在代码中,动态的执行脚本语言,接口的实现就由第三方来实现。Rhino引擎是一个实现javascript脚本接口的第三方实现,java6.0之后,默认引入,作为java的jar包。简单使用见下面的例子/** * RhinoDemo引擎demo * @author liuxg * @date 2016年5月24日 上午10:30:3原创 2016-05-24 10:32:17 · 3142 阅读 · 0 评论 -
eclipse 超级常用快捷
Ctrl+A:全选 Ctrl+D:删除整一行Ctrl+C:复制 Ctrl+F:调出搜索窗口Ctrl+V:粘贴 Ctrl+M:扩大编辑窗口到全屏或还原编辑窗口Ctrl+Z:后退 Ctrl+S:及时保存Ctrl+N:很好用,打开新建文件窗口,直接新建文件,若想新建的文件在某个包内或者文件夹内,先点下报名或者文件名,然后再 Ctrl+N原创 2013-10-19 15:48:10 · 900 阅读 · 0 评论 -
mysql 批量插数据到数据库以及返回插入生成的id号
首先是插入一条数据到数据库,并返回插入时的id号,数据的设计 id号的是自动递增的public static int saveHotel(Hotel hotel) {PreparedStatement pstmt = null;Connection conn = DB.getConnection();try {String sql = "insert into t_hotel原创 2013-10-19 11:26:45 · 3586 阅读 · 0 评论 -
getRequestDispatcher()与sendRedirect()区别
转载,原文出自:http://www.cnblogs.com/phpzxh/archive/2010/02/01/1661137.html1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ; response.sendRedirect()是重新定向,前后页面不是一个request。request.getRequestDi转载 2013-10-08 22:02:53 · 1073 阅读 · 0 评论 -
Jsp servlet页面数据乱码问题解决(默认mysql数据库)
1、确定是否jsp本身的页面出现乱码问题 (1)、get方法和 post方法提交数据给servlet的时候,接收数据时,打印出来看到乱码,解决方法 get方法提交: String name = request.getParameter("name"); name = ne原创 2013-10-06 20:07:50 · 1181 阅读 · 0 评论 -
关于No result defined for action com.gen.action.FrontAction and result input解决方法
最近自己用struts2用表单提交的时候,发现表单提交的时候,老是出现“No result defined for action com.gen.action.FrontAction and result input”,找了很多原因,最后发现原来是action类现在的ModelDriven中的表单类属性的数据类型 和表单的数据类型不一致,因此struts2做了在表单提交的时候,自动做了校验原创 2013-10-06 19:10:51 · 1433 阅读 · 0 评论 -
struts2上传文件总结归纳
这俩天由于项目需要,学习了上传文件框架,有dwr的异步上传文件,对于异步传输确实方便,但不适合form中含有文件上传的需求。也学了apache最原本的文件上传,可以满足form中含有文件上传的需求,还有struts2,个人感觉最方便了,代码简单,而且可以在struts.xml直接对上传文件的格式,大小直接进行配置,官方文档写得很好,现在根据官方文档学习的东西总结如下:需要的依赖包:原创 2013-09-29 15:24:37 · 4269 阅读 · 0 评论 -
dwr 后台服务器推送技术
刚才写了一篇《dwr传对象到前台》,现在继续下一个总结点,dwr又一个令人兴奋的技术后台服务器推送技术,需要的包我就不写了web.xml配置 DWR Servlet dwr-invoker org.directwebremoting.servlet.DwrServlet debug true原创 2013-09-28 20:52:10 · 1932 阅读 · 0 评论 -
DWR 传对象到前台
前几天由于项目的需要专门研究了下DWR,虽然网上的资料不是很多,但官方文档写得很好。发现他的简单,实用,作为AJAX框架,它让我大为兴奋1、传对象到前台浏览器首先说下基本的配置,需要的jar包web.xml配置 DWR Servlet dwr-invoker org.directwebremoting.servlet.DwrServlet原创 2013-09-28 20:34:00 · 847 阅读 · 0 评论 -
java反射机制总结
最近项目中用到java的需要用到java的反射机制,主要用于jdbc数据库的sql语句的封装,现在将java反射机制的一些常用的方法总结如下:主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中:Class类:代表一个类。Field 类:代表类的成员变量(成员变量也称为类的属性)。Method类:代表类的方法。Const原创 2013-09-28 13:31:25 · 948 阅读 · 0 评论 -
java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused
模拟器默认把localhost或者127.0.0.1当手机本身,而不是本地电脑解决方法:将127.0.0.1设置为android内置的IP 10.0.2.2即可原创 2013-10-19 22:29:33 · 3910 阅读 · 0 评论 -
自动升级安装安卓应用程序报错
adb 安装报错如下:手机安装错误如下:eclipse安装错误如下解决方法:删除应用程序,然后再次安装原创 2013-10-20 10:45:14 · 1017 阅读 · 0 评论 -
java动态编程-操作字节码
若想在运行时,动态编辑和创建类,通常有俩种方法 1.动态编译一个类,动态编译可以参考http://blog.youkuaiyun.com/yingxiake/article/details/51487730还有http://blog.youkuaiyun.com/yingxiake/article/details/514877542.操作字节码,可以利用开源库操作字节码,例如CGLib、ASM、Javassist等,它可原创 2016-05-24 18:31:18 · 3737 阅读 · 0 评论 -
java在注解中绑定方法参数的解决方案
我们有这样子的需求,需要记录用户操作某个方法的信息并记录到日志里面,例如,用户在保存和更新任务的时候,我们需要记录下用户的ip,具体是保存还是更新,调用的是哪个方法,保存和更新的任务名称以及操作是否成功。这里最好的技术就是spring aop + annotation,首先我来定义个注解类/** * 参数命名好麻烦,我就随便了,只是演示下用法 * @author liuxg * @date 2原创 2016-04-14 16:15:52 · 13914 阅读 · 5 评论 -
JPA 实体生命周期理解和总结
先来一个图jpa 实体生命周期有四种状态New:瞬时对象,尚未有id,还未和Persistence Context建立关联的对象。Managed:持久化受管对象,有id值,已经和Persistence Context建立了关联的对象。Datached:游离态离线对象,有id值,但没有和Persistence Context建立关联的对象。Removed:删除的对象,有id值,尚且和Persi原创 2016-03-24 01:04:46 · 7323 阅读 · 4 评论 -
没装oracle win764位安装plsql 连接远程数据库服务器
oracle 数据库太重,如果我们只需要连接到远程数据库服务器,那么我们只需要安装plsql客户端,它轻便,步骤如下:1、下载32位的oracle客户端 http://pan.baidu.com/share/link?shareid=3720820011&uk=4045341046&fid=27111767222、解压到某一个目录下,不要有空格和中文字母,我这里是C:\instant原创 2014-03-31 21:00:12 · 1123 阅读 · 0 评论 -
myeclipse 启动weblogic: java.lang.OutOfMemoryError: PermGen space
由于Sun的JVM不回收load class文件,weblogic在每次部署项目的项目 生成的class 都不能被回收,堆放在PermGen 由于permGen内存不够大,导致内存泄漏错误,解决方法如下:找到weblogic 安装目录下的 :"D:\WebLogicService\Oracle\Middleware\user_projects\domains\test_domain\bin\原创 2013-12-10 13:08:32 · 1692 阅读 · 0 评论 -
hibernate cascade 属性介绍
CASCADE (串联,关联)>------------------------------------------------------------------------------1) none :在保存,更新或删除当前对象时,忽略其他关联的对象,它是cascade属性的默认值.2)save-update : 当通过Session 的 save() , update原创 2013-12-08 18:54:26 · 776 阅读 · 0 评论