自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

谈谈分布式系统架构

一、什么是分布式系统?        在谈分布式系统架构前,先来搞懂什么是分布式系统。用大白话来解释什么是分布式系统,就是假设原来有一个20多万行代码的系统,现在拆分成20个小系统,每个小系统1万多行代码。原本代码之间都是直接基于spring调用,现在拆开来了,20个小系统部署在不同的机器上,得基于分布式服务框架(比如dubbo)搞一个rpc调用,接口与接口之间通过网络通信来请求和响应。...

2018-04-29 00:04:37 264

eclipse删除不用的工作空间

操作:window-->Preferences-->General-->Startup and Shutdown-->workspaces, Recent workspaces下面的列表里就是已经设置过的工作区间。如果要删除已不用的,选中,点remove就好了。 如下图: ...

2018-01-12 16:09:19 214

原创 tomcat配置jvm内存以及指定运行使用的jdk版本

set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256M 在第一行set 前插入  如果是linux系统,同理修改 bin/catalina.sh文件 内容为:JAVA_OPTS='-Xms1024m -Xmx4096m -XX:PermSize=512M -XX:MaxPermS...

2018-01-12 14:42:21 402

真正理解 git fetch, git pull, FETCH_HEAD

真正理解 git fetch, git pull 要讲清楚git fetch,git pull,必须要附加讲清楚git remote,git merge 、远程repo, branch 、 commit-id 以及 FETCH_HEAD。1. 【git remote】首先, git是一个分布式的结构,这意味着本地和远程是一个相对的名称。本地的repo仓库要与远程的repo配合完成版本对应必须要...

2017-11-21 10:18:15 266

github下fork后如何用命令行同步源仓库的新更新

 背景: 我fork了阿里巴巴 dubbo 项目的代码到自己的github账户下,然后从自己的github下 clone了代码到本地磁盘。      这个时候阿里巴巴的dubbo项目有新代码提交了,我想把这些新代码同步到我自己的github下fork出来的仓库里面去。   用命令行来做的话,就三个步骤(先已经把自己github仓库下的dubbo项目clone到本地磁...

2017-11-18 16:53:19 683

原创 java中如何获得操作系统下用户目录

String usrHome = System.getProperty("user.home");下面是System的参数列表Key                     Meaning-------------------     ------------------------------"file.separator"        File separator (e.g., ...

2017-09-25 09:50:21 2283

如何向一个开源项目提交代码

如果想参与一个开源项目,首先是需要 Fork 这个项目。然后在自己的主页查看这个项目,把这个项目clone到本地自己的机器上,然后修改代码。 然后提交代码,然后push代码到自己的github下的仓库里面去。 需求: 如何把代码push到原作者的github仓库去呢? 方案有两个:方案一、命令行操作。git remote add yzz url    // ...

2017-09-20 18:28:30 1498

Windows下Git多账号配置,同一电脑多个ssh-key的管理

需求背景1、公司使用https://www.atlassian.com/ 公司的bitbucket产品做git远程仓库。2、平时自己需要使用gitee.com跟github.com两个公共平台的git仓库,学习一些开源项目。 在使用ssh-keygen -t rsa -C "your_email@example.com"创建公钥私钥的时候,会覆盖掉之前创建的。 需求...

2017-09-20 12:04:02 326

原创 业务流程处理使用MQ进行异步化

异步,一切都是可以异步的。上次阿里云首席技术架构师古谦来公司做分享的时候说了这么一句话,我对这句话也印象特别深刻。 比如目前下订单的流程,完全可以异步化来处理。下订单就是下订单,不做额外的不一定100%需要同步处理的业务。这样做了之后,下订单的api仅仅就是保存订单,就会特别的简洁跟稳定,其它的工作,比如创建业绩单,保存发票数据,生成促销赠品,发送提货验证码短信,处理随货配送品...

2017-06-20 18:00:45 1204

Java局部变量对垃圾回收的影响

public class GcTest{ public void localvarGc1() { byte[] a = new byte[6*1024*1024]; System.gc(); } public void localvarGc2() { byte[] a = new byte[6*1024*1024]; a=null; System...

2016-03-04 20:30:32 848

MYSQL创建一个function用来计算经纬度距离

店铺表有一个经度字段,一个纬度字段,用来存储所在位置。先需要根据当前位置的经度与纬度来获取附近10公里内的店铺。故需要将计算距离的逻辑封装成一个function。函数定义及参数说明如下:-- curLat 当前纬度-- curLon 当前经度-- shopLat 店铺纬度-- shopLon 店铺经度CREATE FUNCTION getDistance(cu...

2015-09-11 21:13:49 292

hibernate对持久化对象的一些要求

1、提供一个无参的构造器。 使hibernate可以用Constructor.newInstance()来实例化持久化类。2、提供一个标识属性。(identifier property 一般定义一个private Long id; 字段)。通常映射为数据表的主键字段。如果没有该属性,一些功能将不起作用,如:Session.saveOrUpdate()。3、为持久化类的字段声明访问方法(g...

2015-09-03 21:00:59 113

hibernate自动创建表结构的两种方式

第一种方式:hibernate.cfg.xml文件中的hibernate.hbm2ddl.auto 属性配置,如下:<!-- create:先删除,再创建 update:如果表不存在就创建,不一样就更新,一样就什么都不做。 create-drop:初始化时创建表,SessionFactory执行close()时删除表。 validate:验证表结构是否一致,如果...

2015-09-03 20:32:10 417

JDK API下载

JDK 1.6 API下载地址: SUN官方API中文版【JDK1.6】 1.6API文档(中文)的下载地址: ZIP格式:http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/html_zh_CN.zip CHM格式:http://download.java.net/jdk/jdk-api...

2015-08-11 17:40:39 100

JDK旧版本下载

http://www.oracle.com/technetwork/java/javase/archive-139210.html 从这个链接进入,页面下方可以看到各个旧版本的下载链接。

2015-05-13 17:34:17 208

Domain类中属性字段类型int与Integer

在创建hibernate映射类时,属性类型有些人用包装类,有些人用基本数据类型。比如我就喜欢直接用boolean int long等原生基本数据类型。不过因为java都可以自动拆箱,装箱,怎么用其实都是可以的。用原生基本类型与包装类的区别最主要的可能就是默认值的不同。比如boolean 的默认值是false,Boolean等包装类的默认值都是null。都看大家的编程习惯吧,但今...

2014-09-30 11:15:33 914 1

Hibernate的命名查询(NamedQuery)

做了四年的JavaEE开发,用了hibernate四年,今天才知道,原来还可以把HQL语句或SQL语句写在Hibernate实体类对应的映射文件中的。打开Hibernate的Session的源码,我们可以看到有一个getNamedQuery(String name);的方法,如下:/** * Obtain an instance of <tt>Query</tt&...

2014-09-20 22:03:02 411

hibernate的sql查询

打开Seesion接口的源代码,我们可以看到除了/** * Create a new <tt>Criteria</tt> instance, for the given entity name. * * @param entityName * @return Criteria */ public Criteria createCrit...

2014-09-20 18:21:53 137

Hibernate多对一配置

hibernate中的多对一配置有两种情况:一种是子表的外键对应主表的主键id。另一种是子表的外键对应主表的非主键字段,一般是一个唯一的字段。(常见的场景是订单主表跟订单产品明细表,主表跟子表都是用id作为主键,但是两者之间通过orderNo(订单号)来关联) 下面根据这两种情况,简单介绍一下hibernate映射文件的配置。第一种情况,假设主表是部门表(department...

2014-08-24 00:23:29 181

cmd中通过域名查询ip地址的方法

一般通过ping一个域名,可以看到这个域名对应的ip地址,如下图: 但今天学到另外一种新的方式,具体操作见下图: 如果一个域名对应多个ip地址(负载均衡的目的),采用这种方式可以将所有的ip地址都列出来。...

2014-08-12 14:37:54 8723

原创 Eclipse安装svn插件

1、获取svn插件更新url。         从下面的地址可以得到svn插件的更新url,或下载插件*.zip包。 (可采用在线安装及下载*.zip包之后本地安装两种方式)地址:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA见下图,这里有对svn插件各个版本做说明,且还说明了本地svn客户端(乌龟...

2014-07-15 13:27:39 223

在Windows上安装Maven

        Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 1、检查JDK的安装。                在安装Maven之前,需要正确安装了JDK(jdk的安装在这里我不啰嗦了,但建议安装的路径中不要包含空格跟中文)。在命令行敲java -version,如果能正确执行并看到了java的版本,则表示机器已经安装并配置好了JDK,如下图:...

2014-07-14 17:18:12 89

Tomcat配置一个web项目

把web项目的目录映射到tomcat中,这样项目不需要再放到tomcat下。处理方法如下:  1、找到%TOMCAT_HOME%\conf\server.xml,(即tomcat的安装目录下面相关的文件)打开此xml文件,在 <host> </host>之间加入如下代码:  <Context path="/hello"      docBase="E:...

2014-07-11 17:42:27 110

原创 看《项目经理成长手记》第一章有感

       第一,领导力。领导力是指通过他人来完成工作的能力。项目经理虽然是项目领导核心,但需要依赖团队完成任务。由于项目组的动态性和临时性,项目经理对于团队成员并不具备完全的管理权力,更多需要将一组成员凝聚成一个团队,激发和影响他人为了一个共同的目标而努力工作。领导力重要并不意味着‘领导’是‘官’,领导应该是个‘领头的’,跟大家是平级的,但是却走在别人的前面。不仅要求别人做到的事自己先...

2014-07-03 16:26:06 444 2

原创 项目开发中碰到的一些常见的不规范的代码

从事java EE开发4年多了,从2011年尾开始参与一个大型电子商务系统,一直做到现在。项目在2012年10月完成了验收,2012年11月开始转运维,巧的是自己跟另外一个同事被客户指定为长期固定运维人员。就这样开始了1年多了运维工作。虽说是运维,但我们不需要管理服务器,不需要管理数据库,做的工作就是修改上生产后项目出现的一些问题(处理用户报障),同时开发一些新的需求(开发新功能),以及不断的...

2014-07-01 18:22:37 565

利用maven、eclipse等工具优化代码

在使用maven部署project时,如果代码存在一些不规范,maven会进行提示,比如冗余转换,如下图: 提示说存在转换冗余,具体的源码如下: 因为List使用了泛型,下面的for循环中就不需要进行强制转型了,如果转了,maven就会提示说出现冗余转换。DealerMsgSmsSend obj = (DealerMsgSmsSend) listLock.get(i); 修改为...

2014-07-01 13:53:46 103

原创 tomcat配置内存

windows 版修改TOMCAT_HOME/bin/catalina.bat 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256M  Linux版Tomat 内存设置:...

2014-06-19 17:23:07 99

<profile>中的配置项只会将根节点进行替换

maven的pom.xml中配置的&lt;profile&gt;会替换掉原来对应的配置项。(执行maven命令是加 -P id 才会起作用)比如如下的pom.xml配置文件:&lt;?xml version="1.0"?&gt;&lt;project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mav...

2014-06-17 18:32:07 142

利用maven中resources插件的copy-resources目标进行资源copy和过滤

maven用可以利用如下配置进行资源过滤,pom.xml的配置如下: &lt;build&gt; &lt;!-- 主资源目录 --&gt; &lt;resources&gt; &lt;resource&gt; &lt;!-- 设定主资源目录 --&gt...

2014-06-16 18:50:37 1133

原创 Maven资源过滤应用

第一步,使用maven创建一个简单的project。这里取名为maven-demo,工程目录结构如下图: pom.xml 配置文件如下: &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www...

2014-06-16 12:22:51 181

BigDecimal类

BigDecimal类主要注意两点:1、BigDecimal侧重于精度,对于精度有严格的要求和操作规范,这点也是它不同于Double、Float等而产生的原因。2、DigDecimal中的除法操作 divide方法。(这个方法有很多重写方式,详见API文档)代码理解第一点:(精度问题)System.out.println(0.01 + 0.09);System.out.p...

2012-04-09 08:38:40 116

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除