`
文章列表

32位和64位

一个指针在64位的计算机上,占8个字节;一个指针在32位的计算机上,占4个字节。 原因如下: 我们都知道cpu是无法直接在硬盘上读取数据的,而是通过内存读取。cpu通过地址总线、数据总线、控制总线三条线对内存中的数据进行传输和操作。   具体流程:   1、cpu通过地址总线,找到该条数据;   2、通过控制总线得知该操作是读操作还是写操作;   3、通过数据总线将该数据读取到cpu或者从cpu写到内存中。   所以,   地址总线的宽度决定了CPU的寻址能力;

sourcetree免注册

打开sourcetree 关闭sourcetree 命令终端输入defaults write com.torusknot.SourceTreeNotMAS completedWelcomeWizardVersion 3 打开sourcetree即可跳过登录
1 父类是个泛型类,子类继承父类,如果不指定父类的泛型类型或者没有重新声明一个泛型,那么子类讲不是一个泛型类 public class Parent<T> { } public class Son extends Parent { }  下面这样写是会报错的 Son<Integer> song = new Son<Integer>(); 2 类型通配符 2.1 <? extends xx> Number obj = new Integer(123); List<Integer> integerLis ...
dubbo在服务端和消费端都可以设置接口的超时时间,如果同一个接口,两端都进行了设置,消费端的优先级要高于消费端。 之前一直有这样一个理解:对应TCP的连接,发起请求后,服务端也可以设置超时时间,当超过超时时间,服务端可以中断和客户端的连接。其实这样理解是错误的,服务端是没有超时时间的,所谓的超时其实都是在客户端进行设置,到超过超时时间没有响应,客户端就会处理超时。 dubbo中的超时时间也是在调用端进行设置,当配置中心把某个接口的服务端列表推送给dubbo后,dubbo就会生成相应的调用代理,这是超时时间也会设置进来,但是这时,会用客户端去覆盖服务端的设置。具体代码如下:  其实不止超 ...
dubbo中自己实现了一套SPI,解决了dubbo的可扩展性问题,方便了框架的各层可以在多个不同的实现之间进行来回切换。 SPI的实现主要在类ExtensionLoader中,这个类的构造函数接收一个Class类型的参数,并且这个class必须是接口,必 ...
  加锁、解锁的整体流程图。实际上要比这复杂,上面的流程图只做理解用。  
具有以下继承关系的三个类   Manager继承自Person,CTO继承自Manager     private void doSome1(){ Box<CTO> ctoBox = new Box<CTO>(); Box<? extends Person> personBox = ctoBox; //通过personBox引用对象,不能改变对象本身,因为你不知道泛型的具体类型 //比如本例,真实类型是CTO,但是如果你改变成了Person,其它引用这个对象的地方(ctoBo ...

docker学习记录

启动容器 docker run -i -t -v /root/software/:/mnt/software/ 25c5298b1a36 /bin/bash   -i:表示以“交互模式”运行容器-t:表示容器启动后会进入其命令行-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>   删除所有正在运行的容器 sudo docker rm $(docker ps -a -q)   进入容器 docker exec -it test01 bash  # 进入容器也可以用exec命令   curl -fsSLO https ...
当我们使用sudo命令切换用户的时候可能会遇到提示以下错误:xxx is not in the sudoers file. This incident will be reported,xxx是你当前的用户名,究其原因是用户没有加入到sudo的配置文件里 1、切换到root用户,运行visudo命令 2、在打开的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行 xxx ALL=(ALL) ALL 其中xxx是你要加入的用户名称
首先要申明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。网上的资料都是人云亦云,完全不去思考。那么怎么定位到java的安装路径呢?下面我们来看看例子吧,如下所示: [root@localhost ~]# java -version   java version "1.7.0_65"   OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)   OpenJDK 64-Bit Server VM (build 24.65-b04, mix ...
在windows中安装hadoop,JAVA_HOME中如果有空格,就会报下面的错误 hadoop Error: JAVA_HOME is incorrectly set. 解决方案,设置软连接,重新配置JAVA_HOME   使用 cmd 创建软连接 : mklink /J D:\tools\java "D:\Program Files\Java\jdk1.7.0_67"    然后重新配置JAVA_HOME  
sjdbc有读写分离的功能,要使用这个功能,在创建数据源对象是要使用类:MasterSlaveDataSource,并且设置主备数据源和数据库名称 这个对象有下面的属性: name:数据库的名称 masterDataSource:主数据源对象 slaveDataSources:备库数据源类别 slaveLoadBalanceStrategy:选从算法   /** * 获取主或从节点的数据源名称. * * @param sqlStatementType SQL类型 * @return 主或从节点的数据源 */ ...
分片配置的目的显而易见:就是将数据库分片规则和策略告诉sharding-jdbc sharding-jdbc需要知道如下信息: (1)哪些表需要分片 (2)需要分成哪些库?哪些表?名字分别是什么 (3)通过哪个字段(或哪些字段)进行分库分表 (4)具体的分库或分表算法什么怎样的 (5)分片规则和策略相关的一组表怎么处理   刚开始看官方的小例子,分片配置的代码有些懵逼,梳理了一下,需要如下类进行实现   DataSourceRule TableRule BindingTableRule ShardingRule   这些对象的创建次序轴是这样的:     ...
3.1之后 spring自动注入 RequestMappingHandlerMapping RequestMappingHandlerAdapter 3.1之前 注入AnnotationMethodHandlerAdapte AnnotationMethodHandlerMapping    没加 采用默认的配置 org.springframework.web.servlet.HandlerMapping=org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,\ org.springframework.we ...
<context:annotation-config/> 他的作用是式地向 Spring 容器注册AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、 PersistenceAnnotationBeanPostProcessor 以及 RequiredAnnotationBeanPostProcessor 这 4 个BeanPostProcessor。 注册这4个 BeanPostProcessor的作用,就是为了你的系统能够识别相应的注解。 例如: 如果你想使用@Autowire ...
Global site tag (gtag.js) - Google Analytics