Java

Java基础之软引用、弱引用、虚引用

1、概述在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再把它捡回来使用就不可能了。但有时候情况并不这么简单,你可能会遇到类似鸡肋一样的物品,食之无味,弃之可惜。这种物品现在已经无用了,保留它会占空间,但是立刻扔掉它也不划算,因

系统 2019-08-29 22:32:21 2186

Java

Java集合2:类 AbstractCollection及源码

1.继承关系图2.概览此类提供Collection接口的骨干实现,以最大限度地减少了实现此接口所需的工作。3.方法构造方法摘要protectedAbstractCollection()唯一的构造方法。方法摘要booleanadd(Ee)确保此collection包含指定的元素(可选操作)。booleanaddAll(Collectionc)将指定collection中的所有元素都添加到此collection中(可选操作)。voidcl

系统 2019-08-29 22:26:18 2186

Java

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

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

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

Java

人工智能开发语言排行榜: 不死Java, 不朽C/C++, 新贵Python

看了这个排行榜,小编只想说:流水的编程语言,铁打的Java,C/C++!!人工智能的前景已经不用多说了,越来越多的人看重人工智能的前景,想要在这互联网的风口有一番作为。要做到这点,首先要确定进入人工智能行业,该学习哪门语言!Rankred网站发布了该网站评出的2017年7大最佳的人工智能编程语言――Python第一!1.Python近来,尤其是在机器人领域,Python已经有了翻天覆地的变化。其中一个原因是Python(和C++)是ROS中的两种主要编程语

系统 2019-09-27 17:57:48 2185

Java

C/C++、Java、Go、Python总结对比30-异常处理-python

python的异常机制同其他语言差不多,下面直接来看代码进行学习吧。array=['carsonHai','BertLi']list={'age':25,'name':'BertLi'}str='HelloWorld!'try:int(str)print(array[3])print(list['sex'])open("CarsonHai")exceptIndexErrorase:print("列表下标越界",e)exceptKeyErrorase:pri

系统 2019-09-27 17:46:08 2185

Java

java md5 的实现

javamd5的实现收藏importjava.lang.reflect.*;importjava.io.*;/*************************************************md5类实现了RSADataSecurity,Inc.在提交给IETF的RFC1321中的MD5message-digest算法。********************************************

系统 2019-08-29 23:47:03 2185

Java

Java、模式、美眉、篮球

程序设计模式的有趣解释-追MM创建型模式1、FACTORY一追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。2、BUILDER

系统 2019-08-29 22:48:37 2185

Java

java clone方法使用详解

Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:1publicclassA{2publicStringname;3}4publicclasstestClone{5publi

系统 2019-08-29 22:02:42 2185

Java

Effective Java (类和接口)

十三、使类和成员的可访问性最小化:信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这里我们简要列出几项受益于该原则的优势:1.更好的解除各个模块之间的耦合关系:由于模块间的相互调用是基于接口契约的,每个模块只是负责完成自己内部既定的功能目标和单元测试,一旦今后出现性能优化或需求变更时,我们首先需要做的便是定位需要变动的单个模块或一组模块,然后再针对各个模块提出各自的解决方案,分别予以改动和内部测试。这样便大大降低了因代

系统 2019-08-29 22:02:34 2185

Java

Java开源 J2EE框架

Jofti【Java开源其它开源项目】Jofti可对在缓存层中(支持EHCache,JBossCache和OSCache)的对象或在支持Map接口的存储结构中的对象进行索引与搜索。这个框架还为对象在索引中的增删改提供透明的功能同样也为搜索提供易于使用的查询功能。Yan【Java开源IOC容器】Yan是一个非侵入式的对象反转控制容器(IOC容器)。它通过宣告式的方式把简单的组件组合起来从而构建出任意复杂的组件。这些简单的组件同样也

系统 2019-08-12 09:29:50 2185

Java

Bootstrap Popover 隐藏的Javasript方法

BootstrapPopover是Bootstrap的弹出提示控件。我们可以通过data属性或者Javascript来调用该控件。data属性调用定制性较差这里就不细说了,我们讲一下Javascript来调用。初始化$().popover(options)对于jQuery选择器选到的元素调用jQuery.fn.popover(options)完成初始化,options是一个对象可以包含以下属性:名称类型默认值描述animationbooleantrue是否

系统 2019-08-12 01:33:09 2185

Java

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

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

系统 2019-09-27 17:54:21 2184

Java

Java中的SOAP技术

开始之前,我想就本文即将讨论的主题和读者需要具备的起点知识做一些必需的描叙。本文的主题是讨论SOAP技术,我们将尽可能的讲得通俗易懂一些,所以,我们引入了一个普通的“HelloWorld”范例来给读者说明它们是怎么运作的,让读者知道它们的运作方式。我认为,如果光看官方文档是很难开始学习这门新技术的,官方文档中包含大量的范例,并解释了所有的特性和优点,但是没解释它们的运作方式。在这篇文章中,我不打算只肤浅的解释SOAP技术的定义,我们假设读者熟悉Java语言

系统 2019-08-29 23:31:45 2184

Java

Java NIO(一)概述

Javanio的3个特性JavaNIO(NewIO)是一个可以替代标准JavaIOAPI的IOAPI(从Java1.4开始),JavaNIO提供了与标准IO不同的IO工作方式。ChannelsandBuffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。AsynchronousIO(异步IO)JavaNIO可以让你异步

系统 2019-08-29 23:28:17 2184

Java

用java.util.Timer定时执行任务

用java.util.Timer定时执行任务如果要在程序中定时执行任务,可以使用java.util.Timer这个类实现。使用Timer类需要一个继承了java.util.TimerTask的类。TimerTask是一个虚类,需要实现它的run方法,实际上是他implements了Runnable接口,而把run方法留给子类实现。下面是我的一个例子:classWorkerextendsTimerTask{publicvoidrun(){System.out

系统 2019-08-29 23:22:38 2184