![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
★Java天堂
文章平均质量分 92
DavidBigHero
谁说编程无趣,我偏视编程如生命,在其中活出人生精彩!
展开
-
Spring整合SpringMVC
读者须知:在建spring工程之前最好能够装一下spring的插件:STS,这样能够更方便更高效地进行开发。另外,代码中已有详细注释得不再对知识点进行说明。整合的项目已上传,下载地址:项目结构图展示:详细步骤介绍:一、新建项目在Eclipse中新建Dynamic Web Project,项目名称为spring-springmvc.在新建过程中记得勾选“G原创 2017-06-26 10:12:39 · 1786 阅读 · 71 评论 -
CentOS7安装NFS后篇
引言上篇《CentOS7安装NFS》主要讲解了NFS安装及挂载的主要步骤。下面在这里补充一些内容。一、当机器需要重新挂载时先卸载共享目录umout /data/share然后再挂载一遍mount -t nfs -o nolock,nfsvers=3,vers=3 -o proto=tcp 192.168.22.208:/data/share /data/share原创 2017-03-12 23:19:47 · 1805 阅读 · 15 评论 -
ActiveMQ的简单使用
项目整体目录结构项目下载地址:稍后更新具体步骤:一、新建一个maven工程二、在pom文件中加入依赖的jar包 org.apache.activemq activemq-all 5.9.0 org.apache.xbean xbean-spring原创 2017-07-31 17:58:55 · 507 阅读 · 3 评论 -
ActiveMQ的消息接收确认
JMS消息只有在被确认之后,才认为已经被成功地消费了。消息的成功消费通常包含三个阶段:客户接收消息、客户处理消息和消息被确认。在事务性会话中,当一个事务被提交的时候,确认自动发生。在非事务性会话中,消息合适被确认取决于创建会话时的应答模式(acknowledgement mode)。该参数有以下三个可选值:Session.AUTO_ACKNOWLEDGE:当客户成功地从receive方法返原创 2017-08-02 10:09:46 · 5254 阅读 · 7 评论 -
ActiveMQ的消息格式MapMessage
消息体,JMS API定义了5种消息体格式,也叫消息类型,也可以使用不同形式发送接收数据,并可以兼容现有的消息格式。包括:TextMessage、MapMessage、BytesMessage、StreamMessage和ObjectMessage。下面介绍一下MapMessage在项目中的简单使用。继上篇,代码只是部分改动。改动部分:QueueSender.java//原创 2017-08-02 09:24:59 · 8653 阅读 · 4 评论 -
JVM(十三) 类的卸载
同一个命名空间内的类是相互可见的。子加载器的命名空间包含所有父加载器的命名空间。因此由子加载器加载的类能看见父加载器原创 2017-05-13 10:33:22 · 2456 阅读 · 13 评论 -
Java语言中的枚举类型
枚举类型(Enumerated Type)在编程语言中常用,程序员必备食粮,下面随着我的思路来认识一下枚举类型。 是什么枚举类型在java中是一种基本数据类型。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。为什么用至于为什么,可以简单这样理解,知道用一个东西的劣势后,出来一个新东西来弥补它。再加上点好处。举个例子,如原创 2017-05-19 18:00:02 · 1831 阅读 · 12 评论 -
JVM(十一) 运行时包
由同一类加载器加载的属于相同包的类组成了运行时包。决定两个类是不是属于同一个运行时包,不仅要看它们的包名是否相同,还要看定义类加载器是否相同。只有属于同一运行时包的类才能互相访问包可见(即默认访问级别)的类和类成员。这样的限制能避免用户自定义的类冒充核心类库的类,去访问核心类库的包可见成员。假设用户自己定义了一个类java.lang,Spy,并由用户自定义的类加载器加载,由于java.原创 2017-05-09 12:42:44 · 1166 阅读 · 7 评论 -
JVM(九) 类加载的父亲委托机制
父子关系从JDK1.2版本开始,类的加载过程采用父亲委托机制,这种机制能更好地保证Java平台的安全。在此委托机制中,各个加载器按照父子关系形成了树形结构,除了根类加载器外, 其余的类加载器都有且只有一个父加载器。比如:Class sampleClass = loader2.loadClass("Sample");根据上图进行分析:loader2首先从自己的命名空间原创 2017-05-09 11:16:37 · 723 阅读 · 7 评论 -
JVM(三) 类的加载、连接与初始化
1、加载:查找并加载类的二进制数据2、连接:*验证:确保被记载的类的正确性*准备:为类的静态变量分配内存,并将其初始化为默认值*解析:把类中的符号引用转换为直接引用分析一下:public class Test{ private static int a = 3;}3、初始化:为类的静态变量赋予正确的初始值大家误以为3是直接赋值给a的,其实不然;原创 2017-05-08 10:55:12 · 621 阅读 · 7 评论 -
JVM(八) 类加载器
前面博客中简单提到类加载器,并有demo展示。在这里详细介绍一下。http://blog.csdn.net/qwlzxx/article/details/71404166类加载器用来把类加载到Java虚拟机中。类加载器之间的关系: Java虚拟机自带的类加载器根(Bootstrap)类加载器:该加载器没有父加载器。它负责加载虚拟机的核心类原创 2017-05-09 10:06:44 · 543 阅读 · 6 评论 -
JVM(七) JVM知识点
放图一张,基本涵盖了JVM的知识点。如果后面有精力和时间会对JVM再作详细介绍。原创 2017-05-08 17:55:38 · 664 阅读 · 6 评论 -
JVM(六) 类的初始化
HOW途径在初始化阶段,Java虚拟机执行类的初始化语句,为类的静态变量赋予初始值。在程序中,静态变量的初始化有两种途径:(1)在静态变量的声明处进行初始化;(2)在静态代码块中进行初始化。例如在以下代码中,静态变量a和b都被显示初始化,而静态变量c没有被显示初始化,它将保持默认值0。public class Sample{ private static int a =1;原创 2017-05-08 17:48:20 · 538 阅读 · 6 评论 -
JVM(五) 类的连接
what类被加载后,就进入连接阶段。连接就是将已经读入到内存的类的二进制数据合并到虚拟机的运行时环境中去。连接:*验证:确保被记载的类的正确性*准备:为类的静态变量分配内存,并将其初始化为默认值*解析:把类中的符号引用转换为直接引用类的验证内容1、类文件的结构检查确保类文件遵从Java类文件的固定格式2、语义检查确保类本身符合Java语言的语原创 2017-05-08 15:52:50 · 659 阅读 · 6 评论 -
x-shell用户名输错保存之后重输问题
问题我用X-shell连接服务器的时候不小心将用户名输错了,然后将其保存了下来。结果每次重连都是直接输密码导致进不去服务器,最直接的解决的方案就是把此次会话删除然后再新建一个。我就想,既然它用户名保存下来了,保存到哪儿了,找到修改了不就行了。于是上网搜集资料,可惜没有找到。然后自己就鼓捣软件,功夫不负有心人,终于解决了。步骤第一种方法打开会话,找到你要连接的服务器会话,打开Pr原创 2017-03-24 22:23:20 · 2137 阅读 · 13 评论 -
DUBBO研究与学习一:了解
DUBBO理解DUBBO是一个开源分布式服务框架,致力于提供高性能和透明化的RPC远程调用方案,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Logo来看一下DUBBO的Logo。原创 2017-04-17 22:30:43 · 1287 阅读 · 9 评论 -
DUBBO研究与学习四:Demo
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。实践了一个小demo,不妨一看。目录结构服务提供者pom.xml,配置依赖的jar包<project xmlns="http://maven.apache.org/POM/4.0.0" xmln原创 2017-04-29 15:02:33 · 492 阅读 · 9 评论 -
DUBBO研究与学习三:Dubbo+zookeeper安装
先来看成果,启动的管理控制台界面效果图:那么Dubbo是怎么搭建起来的?下面就一步一步来说。环境版本:Linux系统centOS7JDK:jdk-7u76-linux-x64.tar.gzTomcat:apache-tomcat-7.0.59.tar.gzZookeeper:zookeeperDubbo:dubbo-admin-2.4.3.war原创 2017-04-28 21:08:22 · 652 阅读 · 10 评论 -
Hadoop(三) 大数据离线计算与实时计算
一、大数据离线计算:MapReduce计算模型1、MapReduce是处理HDFS上的数据2、MapReduce的思想来源是PageRank(搜索排名),原理是进行分布式计算。如上图,网页跳转中,访问网页3的次数最多,也就是权重最大的为网页3。比如京东、淘宝中给推荐的商品,就是近期访问的比较多的商品。MapReduce的思想是把一个大任务拆分成多个小任务,再把小任务的结果汇原创 2017-05-05 20:07:43 · 16856 阅读 · 9 评论 -
Hadoop(二) 了解
一、什么是大数据?举例:1、商品推荐:在天猫中找到过去1个月中卖得好的商品。问题1:大量的订单如何存储?问题2:如何计算大量的订单?(1)大数据的存储 (2)大数据的计算2、天气预报:最近两三天的天气预报情况。问题1:大量的天气数据如何存储?问题2:如何计算大量的天气数据?-(1)大数据的存储 (2)大数据的计算大数据核心问题:(1)大数据的存储--->分布原创 2017-05-05 17:26:15 · 696 阅读 · 5 评论 -
Hadoop(一)概况
昨天偶然的机会听了宅客学院赵强老师关于Hadoop的一堂课。受益匪浅,自己对其相关内容产生兴趣,便火速了解了一遍。迫不及待与大家分享。Java+大数据对于学java的咱们来说,不学大数据真是辜负了大好时光。2.5万基本上是普通IT技术人员的天花板,能上这个数的人很少,除非是架构师或者做底层的开发。但Hadoop这块2万多薪资只能算一般,后面还有很大发展空间。薪资情况原创 2017-05-05 16:04:57 · 1046 阅读 · 6 评论 -
linux虚拟机上svn客户端连接问题
背景 在搭建好的虚拟机上搭建好svn后,在用SVN客户端连接时出现了一些问题,费了好大的劲儿,最终在有经验的高手的帮助下顺利解决。下面就自己的问题来分析一下。问题 Can‘t connect to host '192.167.33.10':由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。原因原创 2016-09-06 11:35:13 · 6296 阅读 · 20 评论 -
SpringBoot
关于SpringBoot,搜索了一些资料。可以看看官方给的定义。 SpringBoot:Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get yo原创 2016-11-14 17:13:51 · 976 阅读 · 50 评论 -
SpringBoot构建微服务整体了解
在上篇中介绍介绍了SpringBoot,这篇继续介绍怎么用SpringBoot来构建微服务。微服务说到微服务,什么是微服务呢?微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTful API)。每个服务都原创 2016-11-27 21:54:27 · 2911 阅读 · 22 评论 -
Linux下防火墙的命令操作
在linux上安装很多软件,比如nginx,nfs,fastdfs,redis……都需要对防火墙进行一定的处理才能够在客户机上进行访问。这里有两种方法进行处理。关闭防火墙第一种是比较简单的方式,这样就能对安装的软件进行访问。在这里介绍一下对防火墙操作的命令。查看是否安装了防火墙:rpm -qa | grep firewalld安装防火墙yum原创 2017-03-19 20:19:19 · 2872 阅读 · 15 评论 -
Solr集群的架构
最近要搭一个Solr集群,我们先来了解一下架构。架构搭建需要用到solr+zookeeper。看以下结构:要完成的集群结构如下图: 搭集群前先理清其架构和原理,搭建的时候就会顺利很多。关于搭建集群的具体步骤,下篇将会介绍,敬请期待。原创 2017-04-07 22:27:11 · 3464 阅读 · 9 评论 -
Zookeeper集群搭建
在上篇中我们了解了《Solr集群的架构》,这篇文章继续介绍Zookeeper集群搭建的操作步骤。第一步:需要把zookeeper的安装包上传到服务器。zookeeper-3.4.6.tar.gz先传到服务器第二步:把zookeeper解压。解压:tar -zxf zookeeper-3.4.6.tar.gz第三步:把zookeeper向/usr/loca原创 2017-04-08 23:04:18 · 1118 阅读 · 12 评论 -
Solr集群搭建
继上篇《Zookeeper集群搭建》,此篇介绍Solr集群的搭建。第一步:安装四个tomcat,修改其端口号不能冲突。8080~8083[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat01[root@localhost ~]# cp -r apache-tomcat-7.0.47原创 2017-04-09 08:38:36 · 748 阅读 · 7 评论 -
DUBBO研究与学习二:打基础-同步调用、回调和异步调用区别
调用方式软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。现在就来学习一下他们是什么以及有什么区别。同步调用同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用。举个栗子:4x100米接力赛。现在1道有甲、乙、丙、丁四个选手。甲听到枪响后,率先跑了出去。乙、丙、丁都需要等着,直到甲把接力棒交到乙手原创 2017-04-19 11:35:12 · 3417 阅读 · 9 评论 -
JVM(四) 类的加载
What?类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。class对象只能被java虚拟机创建,从封装的源码中就可以看出: /* * Constructor. Only原创 2017-05-08 15:09:52 · 724 阅读 · 6 评论 -
JVM(二) java虚拟机与程序的生命周期
期待吧原创 2017-05-08 10:38:37 · 653 阅读 · 10 评论 -
Spring的环境搭建
What? Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson创建,称为轻量级容器架构。在项目中怎么应用呢,现在就随我来搭一下它的环境。环境搭建下载资料 首先下载关于spring的资料。之后搭建环境所用资料从其中得到。建java项目,引jar包原创 2016-08-02 17:08:18 · 629 阅读 · 17 评论 -
Hibernate中性能优化之缓存
在Hibernate中,提到性能优化,很自然地我们就想到了缓存。缓存是什么,都有哪些呢?接下来就来分享原创 2016-07-31 22:05:22 · 1365 阅读 · 9 评论 -
Hibernate项目建立
继上篇《认识Hibernate》 认识了Hibernate项目以后,下面来搭建一个Hibernate项目。1、首先,创建一个java项目。2、创建User Library,加入依赖包。 Windows-> Preferences,然后按下图操作 建好jar包库后,点上图右边按钮(Add JARs)引入jar包如下。 *HI原创 2016-07-17 22:21:41 · 867 阅读 · 44 评论 -
认识Hibernate
简介 Hibernate是一个开发源代码的对象关系映射框架。它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servl原创 2016-07-17 21:36:18 · 2448 阅读 · 10 评论 -
Struts1与Struts2的12点区别
原文链接:http://www.blogjava.net/314508313/archive/2011/11/17/364038.html1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可转载 2016-07-04 15:03:23 · 389 阅读 · 7 评论 -
收官之作:网上商城
引言 网上商城是我学习java以来的第一个完整的工程项目。框架为SSH。一路过来虽遇到一些小小的困难,但都一一解决,总的来说还是挺顺利的,一句话:收获颇丰!配置开发环境 首先配置开发环境。mysql数据库,tomcat、jdk和MyEclipse的安装和配置,几经波折,最终还是都配好了。在这里给出一些自己撞得头破血流换来的经验,绝对是很好原创 2016-07-03 15:40:24 · 567 阅读 · 7 评论 -
Hibernate中持久化对象的状态
持久化对象三种状态 持久化对象的状态有三种:瞬时对象,持久化对象和离线对象。瞬时对象 瞬时对象(Transient Objects):使用new操作符初始化的对象不是立刻就持久的。它们的状态是瞬时的,也就是说它们没有任何跟数据库相关联的行为,只要应用不再引用这些对象(不再被任何其它对象所引用),它们的状态将会丢失,并由垃圾回原创 2016-07-24 21:02:07 · 565 阅读 · 15 评论 -
junit单元测试
main方法 想要对某一个方法进行测试,建一个带main方法的类然后运行就行。但是一个main却不能分开测多个方法,不灵活。但是单元测试就解决了这个问题。下面介绍一下java中的junit单元测试。引jar包 首先,引入jar包junit-3.8.1.jar。建测试方法 新建一个测试文件夹,目的是要和测试的方法的文件夹分开来。随原创 2016-07-24 20:39:09 · 1351 阅读 · 17 评论 -
Struts2的异常处理
前言 在项目中总会遇到一些异常处理,怎么解决呢? 以一个例子来展示:用户名和密码的抛错处理。建错误类 建用户和密码的一个错误类。Username:Exception.javapackage com.tgb.exception;public class UsernameException extends Exception{原创 2016-07-09 22:53:39 · 455 阅读 · 7 评论