Java

Java NIO(十一)Pipe

JavaNIO管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:Pipepipe=Pipe.open();向管道写数据要向管道写数据,需要访问sink通道。像这样:Pipe.SinkChannelsinkChannel=pipe.sink();通过调用SinkChannel的write()方法,

系统 2019-08-29 22:04:18 1594

Java

Java多线程-volatile的原理与技巧

volatile,用更低的代价替代同步为什么使用volatile比同步代价更低?同步的代价,主要由其覆盖范围决定,如果可以降低同步的覆盖范围,则可以大幅提升程序性能.而volatile的覆盖范围仅仅变量级别的.因此它的同步代价很低.volatile原理是什么?volatile的语义,其实是告诉处理器,不要将我放入工作内存,请直接在主存操作我.(工作内存详见java内存模型)因此,当多核或多线程在访问该变量时,都将直接操作主存,这从本质上,做到了变量共享.v

系统 2019-08-29 22:02:41 1594

Java

JAVA搜索文件内容~

我这初学者第一次写博客~把我刚写的一段小代码粘贴上来吧packagelocal;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.Ar

系统 2019-08-12 09:29:48 1594

Java

Java基于Socket文件传输示例

最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解。在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加快传输的速度。废话少说,先来看服务器端的程序。1.服务器端packagesterning;importjava.io.BufferedInputStream;importjava.io.DataInputStream;importjava.io.DataOut

系统 2019-08-12 09:29:40 1594

Java

Java shuffle 算法

Fisher–Yatesshuffle基本思想(Knuthshuffle):Toshuffleanarrayaofnelements(indices0..n-1):forifromn−1downto1doj←randomintegerwith0≤j≤iexchangea[j]anda[i]JDK源代码如下:/***MoveseveryelementoftheListtoarandomnewpositioninthelist.**@paramlist*the

系统 2019-08-12 09:27:20 1594

Java

Java和Python的算法数据结构面试问题

有很多计算机科学专业毕业生和程序员在Uber和Netflix等公司申请编程,编码和软件开发职位。亚马逊,微软和谷歌等大型组织;和Infosys或Luxsoft等基于服务的公司。但是,当你申请这些公司的工作时,他们中的许多人都不知道会有什么样的编程面试问题。在本文中,我将分享一些常见问题的算法和数据结构面试问题,这些问题来自不同层次经验的程序员,从刚从大学毕业的人到具有一到两年经验的程序员。编码访谈主要包括数据结构和基于算法的问题以及一些逻辑问题,例如“如何

系统 2019-09-27 17:54:20 1593

Java

maven web 项目中启动报错java.lang.ClassNotFo

本篇文章主要介绍了"mavenweb项目中启动报错java.lang.ClassNotFoundException:org.springframework.web.util.Log4jConfigListener",主要涉及到mavenweb项目中启动报错java.lang.ClassNotFoundException:org.springframework.web.util.Log4jConfigListener方面的内容,对于mavenweb项目中启动

系统 2019-08-12 09:26:47 1593

Java

想成为程序员,学编程,Python、Go、Java、C++,你选什么?

很多时候,我们都不得不做出选择。就拿想成为程序员学编程这件事来说,想学一门编程语言,是选择最新潮的Python、Go,还是选择比较传统的JAVA和C++呢?要做出选择,就得先进行比较。其实不同编程语言之间并没有绝对优势,而是各有优劣。今天分享的这篇文章,希望对正纠结在各种语言优劣对比当中的你一点帮助,也给正在准备当一位C++程序员的伙伴一些力量和信心——相信自己的选择,接下来努力学就OK了!Python、Go虽说比较新潮,但是市面上的岗位需求还是比不了Ja

系统 2019-09-27 17:54:05 1592

Java

(window)python_resultful风格像java一样对外提供接口

单个python文件,在不引用外部资源库的情况下,是可以直接在服务器上面执行的但是python如何resultful风格版的对外提供访问接口呢?借助一下python的flask轻量级web框架,看下面代码,可以证明足够轻量级第一步:安装flask依赖,输入命令:pipinstallflask(需要进入python环境的scripts目录,如果你没有配置环境变量的话)第二步:上代码fromflaskimportFlaskapp=Flask(__name__)

系统 2019-09-27 17:52:50 1592

Java

[转]java中关于构造函数继承的一些问题1

java中的继承真的是一门相当复杂的学问啊,很多东西都那么诡异,有一些技巧更是只可意会不能言传的,那就让时间和经验来解决这些问题吧。总结了一些,慢慢消化。。。classtt{publicstaticvoidmain(String[]args){Personp=newGraduate();}}classPerson{Stringname;intage;Person(){System.out.println("InPerson()");}Person(Stri

系统 2019-08-29 23:26:04 1592

Java

浅谈Java串行端口技术协议

串行通讯慨述串行通讯协议有很多种,像RS232,RS485,RS422,甚至现今流行的USB等都是串行通讯协议。而串行通讯技术的应用无处不在。可能大家见的最多就是电脑的串口与Modem的通讯。记得在PC机刚开始在中国流行起来时(大约是在90年代前五年),那时甚至有人用一条串行线进行两台电脑之间的数据共享。除了这些,手机,PDA,USB鼠标、键盘等等都是以串行通讯的方式与电脑连接。而笔者工作性质的关系,所接触到的就更多了,像多串口卡,各种种类的具有串口通讯接

系统 2019-08-29 22:48:58 1592

Java

Java XML API 漫谈

【转】http://www.iteye.com/topic/75在IBM的developerWorks上有几篇非常优秀的关于JavaXMLAPI的评测文章,它们是:http://www-900.ibm.com/developerWorks/cn/xml/x-injava/index.shtmlhttp://www-900.ibm.com/developerWorks/cn/xml/x-injava2/index.shtmlhttp://www-900.ib

系统 2019-08-29 22:43:25 1592

Java

Effective Java (对象通用方法)

八、覆盖equals时请遵守通用约定:对于Object类中提供的equals方法在必要的时候是必要重载的,然而如果违背了一些通用的重载准则,将会给程序带来一些潜在的运行时错误。如果自定义的class没有重载该方法,那么该类实例之间的相等性的比较将是基于两个对象是否指向同一地址来判定的。因此对于以下几种情况可以考虑不重载该方法:1.类的每一个实例本质上都是唯一的。不同于值对象,需要根据其内容作出一定的判定,然而该类型的类,其实例的自身便具备了一定的唯一性,如

系统 2019-08-29 22:02:39 1592