All Questions
Questions Per Page:
  • C++智能指针梳理 参考: https://en.wikipedia.org/wiki/Memory_leak (维基百科,内存泄漏) https://en.wikipedia.org/wiki/Resource_leak (维基百科,资源泄漏) http://blog.csdn.net/dangercheng/article/details/12618161(内存泄露和野指针的概念) http://blog.csdn.net/na_he/article/details/7429171 (内存泄漏以及常见的解决方法) http://blog.csdn.net/skiing_886/article/details/7937907 (C++中为什么需要智能指针) http://www.codeproject.com/Articles/541067/Cplusplus-Smart-Pointers (C++11 Smart Pointers) http://www.umich.edu/~eecs381/handouts/C++11_smart_ptrs.pdf http://blog.csdn.net/pi9nc/article/details/12227887 (C++11智能指针之unique_ptr) http://blog.csdn.net/u013696062/article/details/39665247 (C++之shared_ptr总结) …

    silenceofwater Asked on 2016年10月31日 in Java.
    • 1106 views
    • 0 answers
    • 0 votes
  • C++智能指针梳理 参考: https://en.wikipedia.org/wiki/Memory_leak (维基百科,内存泄漏) https://en.wikipedia.org/wiki/Resource_leak (维基百科,资源泄漏) http://blog.csdn.net/dangercheng/article/details/12618161(内存泄露和野指针的概念) http://blog.csdn.net/na_he/article/details/7429171 (内存泄漏以及常见的解决方法) http://blog.csdn.net/skiing_886/article/details/7937907 (C++中为什么需要智能指针) http://www.codeproject.com/Articles/541067/Cplusplus-Smart-Pointers (C++11 Smart Pointers) http://www.umich.edu/~eecs381/handouts/C++11_smart_ptrs.pdf http://blog.csdn.net/pi9nc/article/details/12227887 (C++11智能指针之unique_ptr) http://blog.csdn.net/u013696062/article/details/39665247 (C++之shared_ptr总结) …

    silenceofwater Asked on 2016年10月31日 in Java.
    • 1128 views
    • 0 answers
    • 0 votes
  • C++智能指针梳理 参考: https://en.wikipedia.org/wiki/Memory_leak (维基百科,内存泄漏) https://en.wikipedia.org/wiki/Resource_leak (维基百科,资源泄漏) http://blog.csdn.net/dangercheng/article/details/12618161(内存泄露和野指针的概念) http://blog.csdn.net/na_he/article/details/7429171 (内存泄漏以及常见的解决方法) http://blog.csdn.net/skiing_886/article/details/7937907 (C++中为什么需要智能指针) http://www.codeproject.com/Articles/541067/Cplusplus-Smart-Pointers (C++11 Smart Pointers) http://www.umich.edu/~eecs381/handouts/C++11_smart_ptrs.pdf http://blog.csdn.net/pi9nc/article/details/12227887 (C++11智能指针之unique_ptr) http://blog.csdn.net/u013696062/article/details/39665247 (C++之shared_ptr总结) …

    silenceofwater Asked on 2016年10月31日 in Java.
    • 1138 views
    • 0 answers
    • 0 votes
  • C++智能指针梳理 参考: https://en.wikipedia.org/wiki/Memory_leak (维基百科,内存泄漏) https://en.wikipedia.org/wiki/Resource_leak (维基百科,资源泄漏) http://blog.csdn.net/dangercheng/article/details/12618161(内存泄露和野指针的概念) http://blog.csdn.net/na_he/article/details/7429171 (内存泄漏以及常见的解决方法) http://blog.csdn.net/skiing_886/article/details/7937907 (C++中为什么需要智能指针) http://www.codeproject.com/Articles/541067/Cplusplus-Smart-Pointers (C++11 Smart Pointers) http://www.umich.edu/~eecs381/handouts/C++11_smart_ptrs.pdf http://blog.csdn.net/pi9nc/article/details/12227887 (C++11智能指针之unique_ptr) http://blog.csdn.net/u013696062/article/details/39665247 (C++之shared_ptr总结) …

    silenceofwater Asked on 2016年10月31日 in Java.
    • 1137 views
    • 0 answers
    • 0 votes
  • HashMap实现原理分析 概述 HashMap是Java集合框架(Java Collection Framework, JCF)中一个基础类,它在1998年12月,加入到Java 2版本中。在此之后,Map接口本身除了在Java 5中引入了泛型以外,再没有发生过明显变化。然而HashMap的实现,则为了提升性能,不断地在改变。 1.hash表的复习 在正式学习HashMap源码之前,先复习一下hash表的实现。 1.1 什么是哈希表 哈希表(Hash table,也叫散列表),是根据关键字值(key,value)直接进行访问的数据结构。也就是说,它通过把关键字映射到表中一个位置来访问的纪录,以加快查找的速度。这个映射函数叫做散列函数,存放纪录的数组叫散列表。 1.2 哈希函数 1.2.1 直接定址法 取关键字或关键字的某个线性函数值为哈希地址。 H(key) …

    fuwk Asked on 2016年10月6日 in Java.
    • 1099 views
    • 0 answers
    • 0 votes
  • java中的内部类总结 – Nerxious – 博客园// 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动) 显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类 而心脏又在人体当中,正如同是内部类在外部内当中   实例1:内部类的基本结构 ? 1 2 3 4 5 6 7 8 …

    hongmw Asked on 2016年9月22日 in Java.
    • 1192 views
    • 1 answers
    • 0 votes
  • 今日头条合作平台 http://toutiao.com/i6330756516836016642/ 编码之妙2016-09-16 10:48     这个中秋特别热闹,不知为什么,都中秋节了,一伙华为中兴 联想 微软的 码农居然没有放假,在52debug。net(我爱狄八哥)上打了起来,java和C#到底有什么区别,傻傻分不清。C#当初就是作为java的替代语言设计出来了,而如今,他们各有各的领地,鲜有拔火的机会。 理不辨不明,话不说不透,这次大讨论,让我大开眼界,我总结了下java和c#的区别,有不对的地方,别客气,尽管拍砖,同是中秋加班的码农。若是在头条上拍得不爽,就去52debug。net抛抛砖头。 先来说一说Java程序的苦脑。 项目完成后,C/C++/C#程序员开开心心地发布了,享受着程序流通的喜悦 而JAVA程序员在干什么呢:他在网络上搜索: 1 如何把JAR打包成EXE 2 如何说服玩家/用户安装JRE 3 如何把JRE精简后打包入EXE …

    编码之妙 Asked on 2016年9月16日 in Java.
    • 561 views
    • 0 answers
    • 0 votes
  • ­ ­ 译文出处: 后端技术杂谈   原文出处:Henn Idan 分支预测 SO上最多投票的一个Java问题是:为什么处理一个排序数组要比非排序数组快的多。为了回答这个问题,你需要使用分支预测(branch prediction)。分支预测是一种架构,旨在通过在真实的路径发生前猜测某一分支的下一步来提升处理过程。 分支在这里即一个if语句。这样的话,如果是一个排序数组,那么分支预测将会进行,否则不会进行。Mysticial(so上的一个回答者)试图使用铁路和火车来简单介绍这个概念。假设你在铁轨连接处要决定火车要走哪条路,你会选择左边还是右边?你可以拦住火车,然后问司机该往那里,但是这样会让整个过程变慢。因此你只能去猜正确的方向,那么如何去猜呢?最好的办法就是通过观察目前这个火车每次经过时的路线,推测出正确的方向。 这就是分支预测:识别模式并使用它。 不幸的是,这个问题的提问者是分支预测失败的受害者。因为他的分支没有任何可以识别出的模式,所以预测出的行为是随机的。 Java中的安全 另一个流行的Java问题是:为什么在Java中有关密码的地方更加喜欢使用char[]而不是String?其实原始的问题更加具体一些,就是问的在Swing中,password控件有一个getPassword方法(返回char[]而不是getText()返回的String)。 其实这里不用惊讶-这是一个安全问题。String是不可变的,意味着一旦它被创建了,那么你就不可能去修改它。这也意味着在GC之前,你对这些数据不能做任何处理。因此,只要有人能够访问你的内存,那么String就有可能被他获取到。 这也就是为什么要使用char数组。你可以显示地清除数据或者覆盖它。这样密码这种敏感数据即使GC还没有进行也不会再在系统留下痕迹。 异常 即使很多开发者倾向于忽略对受检异常的处理,SO上仍然有很多关于异常的问题。其中一个最流行的问题是:什么是NullPointerException,我该怎么处理它?对此,我们并没有感到惊讶,因为这个问题也是在生产环境的Java应用中排名第一的异常。 实际上,当NullPointerException(或者其他exception)在系统出现的时候,我们可以发出一个告警。因为这种异常一般情况下都是业务代码逻辑有问题造成(笔者注)。 为什么这段代码使用随机字符串打印出了”hello world” …

    nick Asked on 2016年9月10日 in Java.
    • 1220 views
    • 0 answers
    • 0 votes
  • ­ Java I/O 模型的演进 – ImportNew 什么是同步?什么是异步?阻塞和非阻塞又有什么区别?本文先从 Unix 的 I/O 模型讲起,介绍了5种常见的 I/O 模型。而后再引出 Java 的 I/O 模型的演进过程,并用实例说明如何选择合适的 Java I/O 模型来提高系统的并发量和可用性。 …

    nick Asked on 2016年9月10日 in Java.
    • 1173 views
    • 0 answers
    • 0 votes
  • 前言 Java源代码被编译成class字节码,最终需要加载到虚拟机中才能运行。整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。 加载 1、通过一个类的全限定名获取描述此类的二进制字节流; 2、将这个字节流所代表的静态存储结构保存为方法区的运行时数据结构; 3、在java堆中生成一个代表这个类的java.lang.Class对象,作为访问方法区的入口; 虚拟机设计团队把加载动作放到JVM外部实现,以便让应用程序决定如何获取所需的类,实现这个动作的代码称为“类加载器”,JVM提供了3种类加载器: 1、启动类加载器(Bootstrap ClassLoader):负责加载 JAVA_HOME\lib 目录中的,或通过-Xbootclasspath参数指定路径中的,且被虚拟机认可(按文件名识别,如rt.jar)的类。 2、扩展类加载器(Extension ClassLoader):负责加载 JAVA_HOME\lib\ext 目录中的,或通过java.ext.dirs系统变量指定路径中的类库。 3、应用程序类加载器(Application ClassLoader):负责加载用户路径(classpath)上的类库。 JVM基于上述类加载器,通过双亲委派模型进行类的加载,当然我们也可以通过继承java.lang.ClassLoader实现自定义的类加载器。 双亲委派模型工作过程:当一个类加载器收到类加载任务,优先交给其父类加载器去完成,因此最终加载任务都会传递到顶层的启动类加载器,只有当父类加载器无法完成加载任务时,才会尝试执行加载任务。 双亲委派模型有什么好处? …

    input Asked on 2016年9月9日 in Java.
    • 1132 views
    • 2 answers
    • 0 votes