`
alph0618
  • 浏览: 55563 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
第一次在云主机上开发,启动项目时报如下错误,其实是有密码的。 写道 Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding'  查看数据库的用户信息:   select host,user,plugin,auth ...

hash

    博客分类:
  • java
在Hashtable类中得到key的hash值后会进行如下运算: hash & 0x7FFFFFFF  原因是得到的hash值可能是个负数,而0x7FFFFFFF表示int类型的最大值,0x7FFFFFFF的二进制表示如下: 0111 1111 1111 1111 1111 1111 1111 1111  首位表示符号位,0表示正整数,这样和hash值进行‘与’操作时得到一个正整数。    
1、jps -v列出java进程; 2、top列出所有进程及占用CPU情况,结合上一步就可以找出占用CPU过高的java进程pid; 3、top -H -p pid,查看进程中线程占用CPU的情况; 4、printf "%x\n" tid,把线程ID转换为16进制; 5、使用jstack -l pid > pid.dump命令dump出进程的堆栈信息到文件; 6、在文件中找到线程ID的16进制数据;  

jvm内存结构图

    博客分类:
  • java
 从图可以看出,jvm内存模型由三部分组成: 堆:存放对象实例、数组; 方法区:也叫持久代,存放类的信息(类名、方法、字段)、静态变量、编译后的代码; 本地方法栈:也叫线程栈,存放引用(指向对象或数组在堆中的位置)、基本类型变量。 堆内存划分: 新生代,包含了Eden区和Survivor区; 老年代。 各区存放对象: Eden区:存放新建的或短期的对象; Survivor区:存放回收过后幸存下来的对象; 老年代:存放长期存活的对象。 内存管理 只有垃圾收集器才能释放分配在堆中的对象和数组,工作流程如下: 1、新对象和数组分配到新生代的Eden区; 2、 ...
sentinel是一个独立于redis之外的进程,不对外提供key/value服务。在redis的安装目录下名称叫 redis-sentinel 。 主要用来监控redis-server进程,进行master/slave管理,如果你的redis没有运行在master/slave模式下,不需要设置sentinel。   两个 ...

mongo多条件

Criteria criteria = new Criteria(); criteria.and("type").is("1"); criteria.and("id").is("10009"); criteria.orOperator(new Criteria("src").is("online"),new Criteria("src").exists(false)); Query query = new Query(); query.addCr ...

redis记录目录

1、主从、主从复制; 2、sentinel; 3、分片; 4、哈希一致性。

java装箱和拆箱

    博客分类:
  • java
在java中有byte、short、int、float、double、long、boolean7中基本类型即其对应的包装类型。在java SE5之前要想生产一个基本类型数值的对象,必须像下面这样: Integer count = new Integer(1); 而从java SE5开始提供了自动装箱功能,即要生成一个基本类型数值的对象,只要像下面这样即可: Integer count = 1; 而把一个包装类型变量赋给一个基本类型的变量即是拆箱: Integer count = 1; //装箱 int n = count; //拆箱 所以,装箱就是把基本类型转为包装类型,拆箱就 ...
使用Aspect记录操作日志时,启动项目报以下异常: 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mvcContentNegotiationManager': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error Type referred to is not an a ...
在eclipse发布工程部署时,报如下异常:  到部署在tomcat的项目目录WEB-INF下看,并没有lib目录,也就是依赖的jar并没有拷贝过来。 解决办法是,右击工程:Properties--->Deploymeng Assemly  从图中可以看出,部署缺少lib目录,把lib目录加入进去就可以了。 

redis集群数据同步

1、redis没有像mysql那样复制位置的概念,所以Slave和Master断开连接再重新连接时,会全量取Master的快照,Slave的所有数据都会清除,重新建立整个内存表,这样导致Salve恢复数据特别慢,同时也给Master带来的压力。 2、通过主动复制解决redis本身复制的缺陷,即通过业务端或代理中间件对redis中的数据进行多份存储。Twitter开发的用于复制和分区的中间件gizzard(

设计模式

设计模式六大原则: 1、开闭原则 具体就是对扩展开放,对修改关闭。即在程序需要扩展的时候,不能去修改原来的代码,而是用抽象类和接 口去进行扩展。 2、里式代换原则 里式代换原则((Liskov Substitution Principle LSP))是面向对象设计的基本原则之一,里式代换原则定义:基类可以出现的地方,子类一定可以出现。 3、依赖倒转原则 这是开闭原则的基础,具体就是:对接口编程,依赖于抽象而不依赖于具体实现。 4、接口隔离原则 具体就是:使用多个隔离的接口,比使用单个接口好,降低依赖,降低耦合。 5、迪米特法则(最少知道原则) 具体就是:一个实体应该尽量 ...

nginx

一、nginx缓存静态资源 在nginx中使用expires指令来控制HTTP头部过期时间,这个指令可以放在http {}、server {}、location {} 等语句块或者 location {} 语句块中的条件语句中,如在 location 语句块中用 expires 指令控制静态文件: 写道 location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1d; }  即jpg、jpeg、png、gif、ico、css、js这些文件缓存一天。 时间单位: ms:毫秒 s:秒 m:分钟 h:小时 d:天 w:星 ...

mysql索引

mysql有三类索引: B-Tree索引 MySQL中的B-Tree索引的物理文件大多都是以BalanceTree的结构来存储的,也就是所有实际需要的 数据都存放于Tree的LeafNode,而且到任何一个LeafNode的最短路径的长度都是完全相同的,所以我们大家都称 ...

mysql优化

一、sql优化原则: 使用EXPLAIN分析; 使用小结果集驱动大结果集; 尽可能在索引中完成排序; 只取出需要的字段; 尽可能避免复杂的join和子查询。 二、sql优化 1、创建索引;       创建组合索引时,选择范围较小的字段放到前面。 2、分页:先分页查出主键,再使用inner join查询,如: select id,name from user t inner join (select id from user u limit 1000000,100) a on t.id=a.id  3、当只查询一行数据时加上: LIMIT 1     因为找到一 ...
Global site tag (gtag.js) - Google Analytics