皮皮网
皮皮网

【xtools源码】【linux exfat驱动源码】【javaee实战项目源码】copyofrange方法源码_copy_backward()方法

来源:助力红包源码 发表时间:2024-12-22 12:13:39

1.stringbuffer和stringbuilder的区别?方法源d方法
2.用Java数组求演讲评分去掉一个最高分去掉一个最低分
3.tcp端口阻塞解决方法

copyofrange方法源码_copy_backward()方法

stringbuffer和stringbuilder的区别?

       åŒºåˆ«1:线程安全

       StringBuffer:线程安全,StringBuilder:线程不安全。因为StringBuffer的所有公开方法都是synchronized修饰的,而StringBuilder并没有StringBuilder修饰。

       StringBuffer代码片段:

       @Overridepublic synchronized StringBuffer append(String str) {

       toStringCache = null;

       super.append(str);

       return this;

       ï½

区别2:缓冲区

       StringBuffer代码片段:

       private transient char toStringCache;

       @Override

       public synchronized String toString() {  

       if (toStringCache == null) {  

       toStringCache = Arrays.copyOfRange(value, 0, count); 

       } return

        new String(toStringCache, true);

       ï½

       StringBuilder代码片段:

       @Override

       public String toString() {

        // Create a copy, don't share the array 

       return new String(value, 0, count);

       }

区别3:性能

       æ—¢ç„¶StringBuffer是线程安全的,它的所有公开方法都是同步的,StringBuilder是没有对方法加锁同步的,所以毫无疑问,StringBuilder的性能要远大于StringBuffer。

用Java数组求演讲评分去掉一个最高分去掉一个最低分

       import java.util.Arrays;//导入Arrays包

       public class MAX_MIN {

        public static void main(String[] args) {

        double[] a={ 5.2,6.7,5.8,6.9};//定义数组(评分)

        Arrays.sort(a);//对数组(评分)进行排序

        a=Arrays.copyOfRange(a, 1, a.length-1);//去掉最高分最低分

        double sum = 0;//定义总分变量

        //循环累加评分

        for(int i=0;i<a.length;i++){

        System.out.println(a[i]);//打印去掉最高分最低分后的新数

        sum+=a[i];

        }

        System.out.println("平均分为"+sum/a.length);//打印平均分

        }

       }

       //打印结果

       5.8

       6.7

       平均分为6.

tcp端口阻塞解决方法

       大家知道,tcp的方法源d方法读和写是阻塞的,即读的方法源d方法xtools源码时候不知道什么时候读完,写的方法源d方法时候不知道什么时候写完,因此线程就一直暂停在哪里,方法源d方法linux exfat驱动源码一般tcp程序用在上位机下位机之间对吧!方法源d方法javaee实战项目源码下位机一些设备一般会发心跳报文给我们机器,方法源d方法假设为s发一次吧,方法源d方法当机器超过s没接收到数据,方法源d方法那么我们就要考虑把socket断开,方法源d方法因为不断开的方法源d方法话设备重新连接可能又会建立新的socket,这样如果设备反复断开连接的方法源d方法话,将产生大量的方法源d方法kettle源码怎样运行socket,占用大量系统资源,方法源d方法这里我们用socket.setSoTimeout()方法解决read方法的方法源d方法华为liteos源码下载阻塞问题,同时设定一个标志位,在异常处理程序当中退出socket连接:

       public void run(){

       InputStream is = null

       OutputStream os = null

       int flag = 0

       try {

       socket.setSoTimeout() // 0.5秒就退出read()方法的阻塞

       is = socket.getInputStream()

       os = socket.getOutputStream()

       } catch (Exception e2) {

       e2.printStackTrace()

       }

       while (true) {

       try {

       // 读取数据

       int readlen = is.read(buff)

       if (readlen > 0) {

       flag = 0

       }

       byte data[] = Arrays.copyOfRange(buff, 0, readlen)

       resolveData(data)

       } catch (IOException e) {

       try {

       flag++

       if (flag == ) {

       is.close()

       os.close()

       socket.close()

       }

       } catch (Exception e1) {

       e1.printStackTrace()

       }

       }

       }

       }

相关栏目:焦点