`
luliangy
  • 浏览: 96861 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
直接讲Parameter参数放在url里面默认使用的是iso8859-1编码,而且connection.setRequestProperty设置的编码不针对url只设置输出流的data,所以此时乱码的解决方案: 1、webx端重新编码,String txt = new String(desc.toString().getBytes("iso8859-1"), "utf-8"); 2、放在data中,输出流write出去, outStream.write(data.getBytes()); outStream.flush(); 上面代码会产生另 ...
从开源社区到云计算 UNIX编程艺术讲到UNIX为何如此成功的第一个原因就是开源。当时的一些计算机大牛们,为了彼此间更好的合作,为了提高团队的效率,选择选择将源代码开放出去。在那个蛮荒的时代,因特网没有诞生,甚至最开始连TCP/IP都没有诞生,人们依赖脆弱的计算机网络进行一些文档的传输和技术上的交流。开源这件事是那些大牛比如Kim Tompthon,Dung Mcllroy的一些协作的习惯。后来诞生在伯克利大学的hacker们在编写Unix程序以及各种工具软件的时候也选择了这种开源。可以说开源软件是计算机历史中有史以来的一种优良的传统。 我们来分析一下为何那些人愿意把自己的劳动果实告诉其 ...
项目一期做完,总结一下。 避重就轻的架构设计 核心server轻量化设计,从系统稳定角度来说可以避免核心功能受到不必要的干扰,从系统运维角度来说,方便排查问题,从长远设计角度来说,一开始的简单设计是为了今后的来日方长。 快速重构累赘 一些在一期或者甚至二期都不会考虑的东西,尽快重构干净。否则就会一直拖着累赘,面向接口编程也会成为一个坑,走了一段时间之后发现还是要做掉。
mysql中高中高可用方案(http://www.cnblogs.com/lyhabc/p/3838764.html) MMM高可用mysql方案(http://blog.chinaunix.net/uid-20639775-id-3337488.html) MHA 高可用mysql方案(http://os.51cto.com/art/201307/401702_all.htm)   开源数据复制方案 1、基于Tungsten Replicator的主从复制方案(https://code.google.com/p/tungsten-replicator/) 2、阿里巴巴mysql ...
一、Binlog类型 binlog的格式有三种,这也反应了mysql的复制技术:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。相应地,binlog的格式也有三种: STATEMENT ROW MIXED 使用命令查看mysql binlog的格式 mysql>showvariables like 'binlog_format'     使用mysqlbinlog解析的binlog: ...
  int,double,float的处理:根据iBATIS官方文档介绍,因为在javaBean中如果属性为int ,double, float 时,不允许设置为NULL,可以采用一个"神奇数字"来代替属性中的NULL,如-9999. 数据存入数据库时,当检测到属性值为-9999时,Ibatis把空值存入数据库中. 数据从数据库中取出时,当数据库中该字段为NULL时,Ibatis给javaBean中的属性赋值为-9999. 因此,在XML映射文件中,应该同时在存入与取出处指定nullValue='-9999',否则容易导致数据库的不一致. 这种做法虽然保证了数据库的一 ...
数据库同步binlog出现以下错误:   java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x98",...' for column 'content' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlI ...
从代码层角度来说: Lock是基于在语言层面实现的锁,Lock锁可以被中断,支持定时锁,虽然我们总是在一个finally块中释放锁,但是其实我们可以很随意的释放锁,如果安全的话。Synchronized是基于JVM实现的,我们称之为对象的内置锁,Java中的每一个对象都可以作为锁。对于同步方法,锁是当前实例对象。对于静态同步方法,锁是当前对象的Class对象。对于同步方法块,锁是Synchonized括号里配置的对象。当一个线程访问同步代码块时,它首先必须得到锁,退出或抛出异常时必须释放锁。JVM基于进入和退出Monitor对象来实现方法同步和代码块同步,但两者的实现细节不一样。代码块同步是 ...
表征异步计算的Future: Future接口有一个get方法,这个方法会执行到计算结束才返回,它可以被中断取消。从它的实现类来看FutureTask来看,其内部也有一个Sync的同步控制类,任务提交的时候会执行 void innerRun() { if (!compareAndSetState(0, RUNNING)) return; try { runner = Thread.currentThread(); if (getSt ...
定义:一组进程或线程等待系统资源,而资源又被进程本身或者其他进程占用时就形成了死锁。 死锁产生的四个必要条件: 1)非抢占; 2)持有并等待; 3)互斥; 4)循环等待;   死锁避免: 在分配资源时检测分配该 ...
ConcurrentHashMap的设计实现 为什么还需要ConcurrentHashMap,不是有了Hashtable吗。如果所有的事情都用Synchronized去解决,那么这个世界会变得很糟糕。 ConcurrentHashMap最绝妙的地方是采用了锁分段技术,一种分而治之的策略,一个HashMap被分为了几个Segment,在每个Segment里面实行同步控制。 对ConcurrentHashMap的操作首先找到相应的Segment,然后在Segment里面进行操作 public V put(K key, V value)
AQS juc很多操作都是基于AQS(AbstractQueuedSynchronizer) 不同于自旋锁,juc使用的是volatile机制的状态变量; 内部也有一个阻塞线程的等待队列 每个线程都被封装在一个Node结点中 static final class Node { // 当前线程被取消 static final int CANCELLED = 1; // 结点被移除队列时唤醒后继节点 static final int SIGNAL = -1; // 结点在条件队列里面 s ...
  JVM volatile语义: mark: (1)Java 内存模型不会对valatile指令的操作进行重排序:这个保证对volatile变量的操作时按照指令的出现顺序执行的。 (2)volatile变量不会被缓存在寄存器中(只有拥有线程可见)或者其他对CPU不可见的地方 ...
很久以前面试的时候跟某位亲说过会把自己对Redis分析的文档发布在博客里的,一直延误了这件事,主要一是自己的分析还没有结束,觉得许多东西还需要在实际运用中对使用下,二是自己最近专注分析Java的并发,现在发现自己比以前懒了很多,代码写的少,文档一篇都没记录。。。惭愧! 源码针对Redis2.4版本,从以下几个方面进行了分析: 一、Redis的配置及参数说明; 二、Redis五大神器(数据结构); 三、Redis的运行分析; 四、
       1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。   2、结构(或联 ...
Global site tag (gtag.js) - Google Analytics