javaee
yyds_yusong
世界就是家
展开
-
Java中,当表单含有文件上传时,提交数据的如何读取
当提交表单里包含文件上传的时候,即Form的enctype属性值为multipart/form-data时,后台是无法像普通表单那样通过request.getParameter来获取用户提交的数据的。(说实话,我经常因为忘记这个问题而浪费好多调查时间。)这时候,当然可以通过解析提交到服务器的数据流来得到数据了,但是这样不但麻烦而且容易出错。最好的方式是使用第三方的jar包获取数据,转载 2017-04-13 13:59:41 · 3288 阅读 · 0 评论 -
关于Java的TCP编程中需要注意的一些坑
TCP连接就是传说中的长连接,有所谓的3此握手来保证消息一定可达,在java中,TCP传输的方式属于流数据传输,而流数据传输的特点就是数据到达的顺序是固定的,比如说数据A写入到TCP连接中,数据B接着再写入到TCP连接中,数据C再写入TCP连接,那么在另一端,如果数据不丢失,那么A到达后,B到达,C再到达;当B丢失了,那么就是A到达,B丢失,C这时候也不会到达,因为TCP连接是可靠连接,一定会确保...转载 2018-05-11 14:46:39 · 1337 阅读 · 0 评论 -
集合框架List的三个子类的特点
List的三个子类的特点Vector和ArrayList的区别Vector是线程安全的,效率低ArrayList是线程不安全的,效率高共同点:都是数组实现的ArrayList和LinkedList的区别ArrayList底层是数组结构,查询和修改快LinkedList底层是链表结构的,增和删比较快,查询和修改比较慢共同点:都是线程不安全的List有三个子类,用谁呢?查询多用ArrayList增删多...转载 2018-05-11 15:40:40 · 399 阅读 · 0 评论 -
Vector 真的线程安全吗?
Vector里一些写删操作的方法都是用synchronized实现同步,这样vecotor在使用时真的不需要考虑线程安全问题吗?答案是否! 下面看一个例子: Vector vector = new Vector();public void put(String element){if (!vector.contains(element)) vector.add(element); }......转载 2018-05-11 15:42:27 · 4880 阅读 · 1 评论 -
关于Vector到底是不是 线程安全的 问题
线程安全,在java的多并发编程中是重要概念,意思是,多个线程同时操作一个对象,在各种不同情况下,都不会造成不同的后果。一个经典问题,Vector到底是不是线程安全的? 很多人都会回答,是,vector是线程安全的。诚然,不止是很多IT教材上是这么写的,就连JDK的作者写的注释也是这么说的。如下图(图为 JDK中Vector的源代码):注释中,红框标记的部分写着:如果你不需要线程安全的实现类,那就...转载 2018-05-11 15:49:04 · 10147 阅读 · 1 评论 -
收集了一些关于tcp效率和负载的资料
一个电脑能开多少个线程?一个进程可以开启的线程受可用内存限制,如果是32位的机器,那么默认一个进程有2G的可用内存,而每个线程默认分析1M的栈空间,所以这种情况下理论最线程数在2000多个。一个解决办法是创建线程时减少线程栈的大小或是使用64位的系统。64位系统应该可以忽略这个问题了。当然受cpu及磁盘速度及物理内存的限制。不用到达上限值,你的机器应该已经是慢如牛车了。ClientAccepted...原创 2018-05-11 16:21:35 · 316 阅读 · 0 评论 -
synchronized 同步互斥
网上看了一些关于synchronied的讨论,自己测试了一遍:class TT implements Runnable { private int b = 100; public void m1() { synchronized (this) { try { Thread.sleep(3000); ...原创 2018-05-18 14:17:36 · 324 阅读 · 0 评论