- 博客(12)
- 收藏
- 关注
原创 关于单链表
编程之美_单链表面试题目录(?)[+]一单链表结点的删除删除单链表p指向的那个元素时间和空间复杂度尽量小二单链表的存取找出单链表的倒数第K个元素仅允许遍历一遍链表找出单链表的中间元素仅允许遍历一遍链表三单链表与环的问题判断单链表是否有环6形状如何找到环的入口如何知道环的长度带环链表的长度是多少四单链表与相交环的问题如何知道两个单链表无
2013-10-25 13:30:04 455
原创 首尾相连数组的最大子数组和
题目题目描述: 给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是相连的。数组中一个或多个连续元素可以组成一个子数组,其中存在这样的子数组arr[i],…arr[n-1],arr[0],…,arr[j],现在请你这个ACM_Lover用一个最高效的方法帮忙找出所有连续子数组和的最大值(如果数组中的元素全部为负数,则最大和为0,即一个也没
2013-10-25 13:28:17 727
翻译 细说GC
一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的性能。本文将从GC的工作原理、GC的几个关键问题进行探讨,最后提出一些Java程序设计建议,如何从GC角度提高Java程序的性能。 GC的基本原理 GC是什么
2013-10-22 20:58:02 632
原创 细说中断线程
中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程是否被中断判断某个线程是否已被发送过中断请
2013-10-21 16:51:20 475
转载 java访问修饰符详解
1、类的修饰符分为:可访问控制符和非访问控制符两种。 可访问控制符是:公共类修饰符 public非访问控制符有:抽象类修饰符 abstract ;最终类修饰符 final1 )公共类修饰符 public : Java 语言中类的可访问控制符只有一个: public 即公共的。每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 pub
2013-10-21 15:15:04 482
原创 并发实战值之----线程的安全性
1,安全性??(1)何谓线程安全?我的理解是,如果你的对象状态(实例变量或是静态变量)得到“正确”的转变,那么该对象就是线程安全的;(2)所以 如果你的对象是无状态的或者状态不可变的或者状态不共享的,那么它绝对是线程安全的;如果你的对象的状态是共享的、而且是可变的,那么就必须保证你的“改变状态的代码”是原子性的,才能保证线程安全;总之,线程不安全是因为存在“竞态条件”。
2013-10-11 13:57:18 645
原创 Java中的五种单例模式实现方法及相互比较
]Java中的五种单例模式实现方法 view sourceprint?01package singleton;02 03/**04 * @author lei
2013-10-10 16:03:30 804
原创 并发实战值之----线程池--线程池的关闭、监控
4,线程池的关闭 我们可以通过调用线程池的shutdown或shutdownNow方法来关闭线程池,但是它们的实现原理不同,shutdown的原理是只是将线程池的状态设置成SHUTDOWN状态,然后中断所有没有正在执行任务的线程。shutdownNow的原理是遍历线程池中的工作线程,然后逐个调用线程的interrupt方法来中断线程,所以无法响应中断的任务可能永远无法终止。shutdow
2013-10-08 18:40:24 1929
原创 并发实战值之----线程池--线程池中放任务
3,线程池中执行任务:(1)通过execute()方法去执行任务(在外界看来是这样); 我们可以使用execute提交的任务,但是execute方法没有返回值,所以无法判断任务知否被线程池执行成功。通过以下代码可知execute方法输入的任务是一个Runnable类的实例。 threadpool.execute(new Runnable(){public void run()
2013-10-08 18:38:30 787
原创 并发实战值之----线程池--线程池的创建
2,线程池的创建:(1)我们可以通过ThreadPoolExecutor类来创建一个线程池。 new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, milli
2013-10-08 18:38:00 821
原创 并发实战值之----线程池--线程池的作用
二,线程池:1,线程池的作用:通过线程的复用,降低资源消耗(线程创建和销毁造成的消耗);操作系统是通过线程控制块(Thread Control Block)来管理一个线程的,即创建一个线程首先要创建一个TCB,一个TCB包括下面四种内容: 1)线程标识符(thread ID):线程的ID号。 2)程序计数器(program counter):记录线程当前执行指令
2013-10-08 18:35:20 1002
原创 并发实战值之----run()和start()方法解析
一,调用run()和start()方法的区别在你新建一个线程的时候,你必须调用start()方法,让线程进入“就绪”状态,等待JVM调用执行,JVM会自动调用run()方法;如果你没有调用start()方法,而是直接调用run()方法,那么,run()方法内的代码还是会执行,但是调用执行run()方法的不是新建的线程,而是创建新线程的当前线程,想要让创建的新线程执行run()方法,必须调用
2013-10-08 18:34:35 532
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人