`
文章列表
原文链接:https://www.jianshu.com/p/63534c3baec3 转载请注明出处   1540361271922.png 从master直接切换到另一分支名(drpV2.0.24)的时候,出现游离状态,没有改动代码,只是想让HEAD从游离状态中恢复到正常分支上,但git checkout drpV2.0.24 并没有用...还是在游离状态... 解决方法 git branch -v 查看当前领先多少   1540361405219.png
原文地址:https://www.jianshu.com/p/2b17c3879879   idea方法注释,系统默认的只能获取到参数,无法获取返回值,如下: /** * * @param id * @param type * @return */ public static String getName(Long id, int type) { return null; } 使用Eclipse时我们生成注释的习惯是/**+Enter,这里我们也按照这种习惯来设置IDEA的方法注释 ...
想要成为架构师,对技术的深度和广度都有很高的要求,本文列举出成为一个架构师必备的技能和学习路线。对于学习途径有疑惑或苦恼,或者有优秀资料可以提供的同学,可加微信,共同交流学习  wx_qcode.jpg 1. 阅读源码 说到阅读源码,可能很多同学都尝试过去阅读一些开源框架的源码,但是很难找到一个入口点;即便找到入口点,又会觉得源码中好绕,看着看着把自己都看晕了。其实,阅读源码是需要基础的。开源框架的源码中都使用了大量的设计模式,所以在阅读源码之前,我们首先要熟悉常见的设计模式 1.1 常用设计模式 Proxy 代理模式
原文地址:https://www.jianshu.com/p/deee6abf0b72 转载请注明出处   TCP: 传输控制协议(英语:Transmission Control Protocol,缩写为TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 UDP:用户数据报协议 ...
原文地址:https://www.jianshu.com/p/173009ccfd7b 转载请注明出处   短连接 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接 连接->传输数据->保持连接 -> 传输数据-> ... ->关闭连接。 长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。 http的长连接 HTTP也可以建立长连接的,使用Connect ...

HashMap详解

简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:     image.png 下面针对各个实现类的特点做一些说明: HashMap:根据键的hashCode值存储数据,直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数 ...

JVM内存管理

    博客分类:
  • JVM
栈 一般是指 堆内存(Heap)的管理,因为栈(stack)、PC寄存器(PC Register)、本地方法栈(Native Method Stack)都是和线程一样的生命周期-Xss 设置栈内存大小栈是不需要垃圾回收的,尽管说垃圾回收是java内存管理的一个很热的话题,栈中的对象如果用垃圾回收的观点来看,他永远是live状态,是可以reachable的,所以也不需要回收,他占有的空间随着Thread的结束而释放 堆 堆内存分为以下几个区:Old Space 、 Eden 、From Space、To Space 图示   -Xms和-Xmx来指定堆内存最小值 ...
什么是分布式锁? 控制分布式架构中多个模块访问的优先级 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。 线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。 进程锁:为了控制同一操作系统中多个进程访问某个共享资源,因为进程具有独立性,各个进程无法访问其他进程的资源,因此无法通过synchronized等线程锁实现进程锁。 分布式锁:当多个进程不在同 ...

redis入门常见问题

spring集成redis遇到的一些问题 1.Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource 好像看不出报的什么错,继续往下看详细信息 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in ...
换了mac电脑,依据windows下idea的设置,依次File-->Othering Settings-->Default Settings ->Inspections->Serialization issues,将serialzable class without "serialVersionUID"打上勾,Apply之后,选中类名,按atl+enter键,依旧不会提示生成serialVersionUID; 其实mac下提示生成serialVersionUID的方式如下(亲测可用): Mac版本是设置Preferences,具体步骤如下: ...
      使用git时,想从某个分支(branch_A)的某个提交(commitId:9e53a6db43cd5e5d52e5b28b34d83f38ccdb668b)应用于另外一个分支(branch_B),可使用cherry-pick, cherry-pick会重演某些commit, 即把某些commit的更改重新执行一遍;    1.基于branch_B分支新建分支branch_B_1, 并且到新创建的分支上     git checkout -b branch_B branch_B_1    2.将branch_A分支上的某个commit在branch_B_1分支上重演     ...

idea显示类图

      在看源码的时候,发现类之间的结构比较复杂,点着点着都不知道点到那里去了,有点晕,问了下度娘,发现idea已经集成了uml,直接上图: File-->Settings 打开settings界面   定位到plugins,输入UML,如下图所示:  确保UML Support 这个方框对勾已经打上,点击右下角的 apply,重启idea 然后找一个java类文件,右击Diagram     
从git的某次提交(commit)拉取分支: git checkout -b branchname <commitId>   参考:https://stackoverflow.com/questions/2816715/branch-from-a-previous-commit-using-git      
va项目为第三方提供类库的时候,打好的jar包中,第三方调用的时候,取出来的中文乱码,如下所示: 查看项目编码类型为utf-8,打包出现如下日志: 编码GBK的不可映射字符   部分文件编码为GBK,解决方法如下:(在打包的时候设置编码类型为utf-8)   <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-co ...
git将主干合并到当前分支时,出现如下结果:    原因在于:执行git merge前,主干的代码没有更新   正确的操作步骤如下: 1 .切换到主干  $ git checkout master  2. 更新主干代码  $ git pull origin master 3. 切换回分支  $ git checkout feature/20170527_894373_inventory_order_export_1 4. 执行合并操作  $ git merge master  这样就对了,剩下的就是解决冲突,然后提交代码   附:git命令大全     ...
Global site tag (gtag.js) - Google Analytics