两个java项目,他们之间进行信息的通信
前提:必须知道要通信的java项目(接收请求方)的服务器的IP地址和访问路径。
其实两个java项目之间的通信还是使用HTTP的请求。主要有两种方式:
①使用apache的HttpClient方式。
②使用JDK自带的java.net包下的HttpURLConnection方式。
HttpURLConnection方式:
HttpURLConnection传递请求常用的有两种方式:POST和GET方式。使用setRequestMethod()方法设置传递的方式。
http://t.csdn.cn/A3Etk
通过 DEBUG 或者打印日志来锁定导致乱码的原因,看看自己的乱码到底是属于哪一种,找到了乱码的原因,问题就解决的差不多了
1. 解决URL地址乱码
如果我们把请求参数放到了URL地址栏中,结果出现了乱码,这个问题在GET、DELETE 等请求中是比较常见的,而解决方案也很简单,我们只需要修改 Tomcat 的 conf/server.xml 配置文件,修改 URL编码格式
1、utf8解决JSP中文乱码问题
2、Tomcat 5.5 中文乱码(利用tomcat已经写好的字符集过滤器)
3、 get方式的解决办法(修改tomcat server.xml,但是不建议使用)
转载于:http://blog.itpub.net/800861/viewspace-969211/
List 关心的是索引,与其他集合相比,List特有的就是和索引相关的一些方法:get(int index) 、 add(int index,Object o) 、 indexOf(Object o) 。
ArrayList 可以将它理解成一个可增长的数组,它提供快速迭代和快速随机访问的能力。
LinkedList 中的元素之间是双链接的,当需要快速插入和删除时LinkedList成为List中的不二选择。
Vector 是ArrayList的线程安全版本,性能比ArrayList要低,现在已经很少使用
Set关心唯一性,它不允许重复。
HashSet 当不希望集合中有重复值,并且不关心元素之间的顺序时可以使用此类。
LinkedHashset 当不希望集合中有重复值,并且希望按照元素的插入顺序进行迭代遍历时可采用此类。
TreeSet 当不希望集合中有重复值,并且希望按照元素的自然顺序进行排序时可以采用此类。(自然顺序意思是某种和插入顺序无关,而是和元素本身的内容和特质有关的排序方式,譬如“abc”排在“abd”前面。)
Queue用于保存将要执行的任务列表。
LinkedList 同样实现了Queue接口,可以实现先进先出的队列。
PriorityQueue 用来创建自然排序的优先级队列。
Map关心的是唯一的标识符。他将唯一的键映射到某个元素。当然键和值都是对象。
HashMap 当需要键值对表示,又不关心顺序时可采用HashMap。
Hashtable 注意Hashtable中的t是小写的,它是HashMap的线程安全版本,现在已经很少使用。
LinkedHashMap 当需要键值对,并且关心插入顺序时可采用它。
TreeMap 当需要键值对,并关心元素的自然排序时可采用它。
http://t.csdn.cn/InFPt
什么是内存泄漏,常见引起引起内存泄漏的原因,及解决办法_内存泄露_Lonely池的博客-CSDN博客
内存泄漏也称作"存储渗漏",用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。
(2条消息) 【MySql】MySql事务及隔离级别_mysql设置隔离级别_爱穿背带裤的馫的博客-CSDN博客
http://t.csdn.cn/Nre3c
同步块是更好的选择,因为它不会锁住整个对象(当然你也可以让它锁住整个对象)。同步方法会锁住整个对象,哪怕这个类中有多个不相关联的同步块,这通常会导致他们停止执行并需要等待获得这个对象上的锁。
在Web开发中,GET和POST是HTTP方法,用于向服务器发送请求的方式。它们有以下的区别:
总之,GET请求适用于获取数据,POST请求适用于提交数据,且POST请求更安全,可以发送更多类型的数据。
此上而下,位置越靠前优化越明显,对数据库的性能提升越高。
注意:引入分布式缓存后系统需要考虑如何应对缓存穿透、缓存击穿和缓存雪崩的问题。
一主多从,读写分离,主动同步,是一种常见的数据库架构优化手段。
适用于读多写少,通过增加从库数量可以线性提升系统读性能。
主库,提供数据库写服务;从库,提供数据库读能力;主从之间,通过binlog同步数据。
当准备实施读写分离时,为了保证高可用,需要实现故障的自动转移,主从架构会有潜在主从不一致性问题。
更换数据库的硬盘
数据库实例参数优化遵循三句口诀:日志不能小、缓存足够大、连接要够用。
数据库在架构设计中都会采用如下两个优化手法:
先将事务写到日志文件RedoLog(WAL),将随机写优化成顺序写
加一层缓存结构Buffer,将单次写优化成顺序写
合理使用索引
索引少了查询慢;索引多了占用空间大,执行增删改语句的时候需要动态维护索引,影响性能 选择率高(重复值少)且被where频繁引用需要建立B树索引;一般join列需要建立索引;复杂文档类型查询采用全文索引效率更好;索引的建立要在查询和DML性能之间取得平衡;复合索引创建时要注意基于非前导列查询的情况
UNION ALL的执行效率比UNION高,因为UNION执行时需要排重;
执行SQL时优化器需要将 * 转成具体的列;每次查询都要回表,不能走覆盖索引。
一般JOIN字段都提前加上索引
提升可阅读性;避免慢查询的概率;可以转换成多个短查询,用业务端处理
RAND()导致数据列被多次扫描
执行计划
要想优化SQL必须要会看执行计划,执行计划会告诉你哪些地方效率低,哪里可以需要优化。通过explain sql 可以查看执行计划
SQL优化小结
这里给大家总结一下SQL优化的套路:
http://t.csdn.cn/7iNWO
请注意,这只是一些常用命令的概述,Linux还有很多其他命令和功能。如果您需要更详细的帮助,您可以查阅Linux的官方文档或者使用“man”命令查看命令的详细用法。
http://t.csdn.cn/7RCBG
JAVA stream流详细教程_浩骞的博客-CSDN博客