(二)java集合框架综述

    一集合框架图说明:对于以上的框架图有如下几点说明1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2.集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3.抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。4.实现类:8个实现类(实线表示),对接口的具体实现。5.Collection接口是一组允许重复的对象。6.Set接口继承Collection,集合元素不重复。7.List接口继承Collection,允许重复,维护元素插入顺序。8.Map接口是键-值对象,与Collection接口没有什么关系。9.Set、List和Map可以看做集合的三大类:List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是集合里元素不允...
代码星球 代码星球·2021-02-17

(一)java集合框架——Iterable

Iterable接口是java集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素,我们可以看下它的成员方法修饰符和返回值方法名描述Iterator<T>iterator()返回一个内部元素为T类型的迭代器default voidforEach(Consumer<?super T> action)对内部元素进行遍历,并对元素进行指定的操作default Spliterator<T>spliterator()创建并返回一个可分割迭代器Iterable最早出现在JDK1.5,开始只有iterator()一个抽象方法,需要子类来实现一个内部迭代器Iterator遍历元素.后两个方法是Java8后新添加的,forEach(Consumeraction)是为了方便遍历操作集合内的元素,spliterator()则提供了一个可以并行遍历元素的迭代器,以适应现在cpu多核时代并行遍历的需求. 其中我们可以看下default修饰符,这也是Java8后新出现的,我们知道,如果我们给一个接口新添加一个方法,...
代码星球 代码星球·2021-02-17

[置顶] 【Mybatis】---mybatis+mysql+ IntelliJ IDEA框架搭建+实例讲解

mybatis是一个持久层的框架,是apache下的顶级项目。mybatis托管到goolecode下,再后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。mybatis可以将向preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)java环境:jdk1.7+IntelliJIDEA:15.0+mysql1.新建项目2.工程目录结构3.log4j.properties#Globalloggingconfiguration#u5728u5f00u53d1u73afu5883u4e0bu65e5u5fd7u7ea7u522bu8981u8bbeu7f6eu6210DEBUGuff0cu751fu4ea7u73afu5883u8bbeu7f6eu6210infou6216errorlog4j.rootLogger=DE...

[置顶] 【实战Elastic-Job】--详解当当网分布式作业框架

作业即定时任务.无需做复杂的控制,在指定的时间执行指定的任务.    时间驱动/事件驱动:内部系统一般可以通过事件来驱动,但涉及到外部系统,则只能使用时间驱动.如:抓取外部系统价格.每小时抓取,由于是外部系统,不能像内部系统一样发送事件触发事件.批量处理/逐条处理:批量处理堆积的数据更加高效,在不需要实时性的情况下比消息中间件更有优势,而且有的业务逻辑只能批量处理.系统内部/系统解耦:作业一般封装在系统内部,而消息中间件可用于系统间解耦.    elastic-job主要的设计理念是无中心化的分布式定时调度框架,思路来源于Quartz的基于数据库的高可用方案。但数据库没有分布式协调功能,所以在高可用方案的基础上增加了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源。Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架。去掉了和dd-job中的监控和ddframe接入规范部分。Elastic-Job常用的三种作业类型:SimpleJob,Sequence...

SSH框架

 SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。    集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccessObjects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。Spring有如下优点:1.低侵入式设计,代码污染极低2.独立于各种应用服务器,基于Spring框架的应用,可以真正实现Writ...
代码星球 代码星球·2021-02-17

java DI 框架spring(web)、Guice(web)、Dagger&Dagger2(android)

javaDI框架spring(web)、Guice(web)、Dagger&Dagger2(android)(待续...)...
代码星球 代码星球·2021-02-17

弱监督学习框架下的图像语义分割调研

本人硕士研究生研究课题:弱监督学习框架下的全卷积神经网络图像语义分割2018年1月16日,学院开题答辩,定下了这个题目。今天是2018年6月10日。到现在,包括中间的寒假,五个月过去了,看一下当下的状况,并无任何进展,当然说的是课题方面。因为答辩之后贪玩的暂时解放心理,因为各种其他事情需要兼顾(我觉得这可能是借口吧),因为意志不坚,自从定完题目,好像再也没有深入研究下去,而是搁置一旁,去做其他学业上的事情了(这就牵涉到思维方式、科研与学习方法的问题)。心无旁骛是如此的重要,温水煮青蛙所导致的危险后果是如此的明显,“生于忧患,死于安乐”。距秋招还有不到三个月,这三个月给自己立个flag,必须一定要心无旁骛,以研究课题为中心,该好好做点事情了,研三毕业的师兄说,一定要注意时间节点,什么时候该完成什么,一定要去完成,错过那个时间点,新的别的事情会让你失措,能力是通过在一定时间节点上的卓有成效彰显出来的,否则就是一个不会自我管理的失败者。惰性作为人性中能轻易毁掉一个人的弱点之一,及时意识到,时常问自己,当下在做的事是不是最重要的,及时跳出舒适区,避免陷入温水青蛙的境地。现在就是最早的时候,三个...

JAVAEE——SpringBoot日志篇:日志框架SLF4j、日志配置、日志使用、切换日志框架

小张;开发一个大型系统;​1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件?​2、框架来记录系统的一些运行时信息;日志框架;zhanglogging.jar;​3、高大上的几个功能?异步模式?自动归档?xxxx?zhanglogging-good.jar?​4、将以前框架卸下来?换上新的框架,重新修改之前相关的API;zhanglogging-prefect.jar;​5、JDBC---数据库驱动;​写了一个统一的接口层;日志门面(日志的一个抽象层);logging-abstract.jar;​给项目中导入具体的日志实现就行了;我们之前的日志框架都是实现的抽象层; 市面上的日志框架;JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j....日志门面(日志的抽象层)日志实现JCL(JakartaCommonsLogging)2014年更新比较老 SLF4j(SimpleLoggingFacadeforJava) jboss-logging功能太过强Log4jJUL(ja...

.NET Framework 框架的一些简单介绍

20世纪90年代以来出现的3种典型的组件技术:1)OMC(对象组件模型)的CORBA2)Microsoft的COM/DCOM3)Sun公司的JavaBeans 在2002年,微软发布了.NET框架的第一个版本,声称其解决了旧问题并实现了下一代系统的目的。.NET框架是一种比MFC和COM编程技术更一致并面向对象的环境。它的特点包括:1)多平台。【面向异构网络、硬件平台和操作系统,可以在多种多样的系统上运行,从服务器、桌面机到PDA和移动电话。】2)行业标准。【实现软件系统之间的智能交互和协同工作,使用行业标准的通信协议,比如:XML、HTTP、SOAP和WSDL。】3)安全性。【提供一个标准化的、安全的、一致的模型和环境,提供更加安全的执行环境,即使有来源可疑的代码存在。】 Microsoft为.NET技术制定了一整套完整的规范,便是CLI(CommonLanguageInfrastructure,公共语言基础结构,公共语言架构)。CLI的组成:1)CTS(CommonTypeSystem,公共类型系统)。【定义了一组丰富的内置类型,以及每种类新固有的、独有的特性;...

Java NIO框架Netty教程(一) – Hello Netty

先啰嗦两句,如果你还不知道Netty是做什么的能做什么。那可以先简单的搜索了解一下。我只能说Netty是一个NIO的框架,可以用于开发分布式的Java程序。具体能做什么,各位可以尽量发挥想象。技术,是服务于人而不是局限住人的。如果你已经万事具备,那么我们先从一段代码开始。程序员们习惯的上手第一步,自然是"Helloworld",不过Netty官网的例子却偏偏抛弃了"Helloworld"。那我们就自己写一个最简单的"Helloworld"的例子,作为上手。1/**2*Netty服务端代码3*4*@authorlihzh5*@aliaOneCoder6*@bloghttp://www.coderli.com7*/8publicclassHelloServer{910publicstaticvoidmain(Stringargs[]){11//Server服务启动器12ServerBootstrapbootstrap=newServerBootstrap(13newNioServerSocketChannelFactory(14Executors.newCachedThreadPool()...

activiti5.13 框架 数据库设计说明书

1、结构设计1.1、    逻辑结构设计Activiti使用到的表都是ACT_开头的。ACT_RE_*:’RE’表示repository(存储),RepositoryService接口所操作的表。带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。ACT_RU_*:‘RU’表示runtime,运行时表-RuntimeService。这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。ACT_ID_*:’ID’表示identity(组织机构),IdentityService接口所操作的表。用户记录,流程中使用到的用户和组。这些表包含标识的信息,如用户,用户组,等等。ACT_HI_*:’HI’表示history,历史数据表,HistoryService。就是这些表包含着流程执行的历史相关数据,如结束的流程实例,变量,任务,等等ACT_GE_*:全局通用数据及设置(general),各种情况都使用...

Dropwizard框架入门

最近项目用到了Dropwizard框架,个人感觉还不错,那么这里就从他们官网入手,然后加上自己的实现步骤让大家初步了解这个框架。 官网对DW(Dropwizard)的定义是跨越了一个库和框架之间的界限。他的目标是提供一个生产就绪的web应用程序所需的一切性能可靠的实现。那么这句话可能有些绕,我个人理解就是他能免去我们部署web应用的很多步骤。由于这个功能被提取到可以重复使用的库中,我们的应用程序保持很大程度的精简和集中,这样可以减少我们程序的上线时间和维护负担。  JettyforHTTP由于Web应用不可能缺少HTTP,DW使用JettyHttp库将一个非常棒的HTTP服务器嵌入到我们的项目中。DW不是将你的程序提交到复杂的服务器上,DW上有个main方法来启动我们的服务器,DW是将我们的应用作为一个简单的线程来跑,消去了Java生产环境中一些非常复杂令人讨厌的过程,并且允许我们使用所有现有的Unix进程管理工具。  JerseyforREST 为了定义Restful的web应用,我们发现在性能和特性方面没有什么能比得过Je...
代码星球 代码星球·2021-02-16

13个可实现超棒数据可视化效果的Javascript框架

随着商业及其相关需求的发展,数据成为越来越重要的元素之一,为了更加直观和明显的展示商业潜在的趋势和内在的特性,我们需要使用图表和图形的方式来直观动态的展示数据内在秘密,在今天的这篇文章中我们推荐12款最棒的数据可视化的Javascript框架,希望能够帮助大家在项目中更好的实现数据可视化效果。提起ECharts,经常使用开源软件的朋友应该很熟悉,当然,如果你不知道也没关系。但是你肯定知道去年春节以及近期央视大规划报道的百度大数据产品,如百度迁徙、百度司南、百度大数据预测等等,这些产品的数据可视化均是通过ECharts来实现的。ECharts是一款数据可视化的纯JavaScript图标库,其拥有混搭图表、拖拽重计算、制作数据视图、动态类型切换、图例开关、数据区域选择、值域漫游、多维度堆积等非常丰富的功能。ECharts(EnterpriseCharts商业产品图表库)是基于HTML5Canvas的一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。ECh...

20个代码生成框架 (.NET JAVA)

一款人气很旺国外的基于模板的dotnet代码生成器官方网站:http://www.codesmithtools.com官方论坛:http://forum.codesmithtools.com/default.aspx版权形式:30天试用开源:否需要先注册确认后才能下载MyGenerator是又一个国外很不错的代码生成工具,有人觉得比CodeSmith简单、好用。所有api可以在帮助菜单中找到。官方网站:http://www.mygenerationsoftware.com/portal/default.aspx官方论坛:版权形式:免费开源:否NHibernate是Hibernate公司在Java自动生成领域取得巨大成功后推出的一款ORM工具.官方网站:http://www.hibernate.org/官方论坛:版权形式:免费开源:否一款基于软件自动生成理念,能直接生成应用的dotnet代码生成器官方网站:http://www.dotnetcoding.net官方论坛:http://dotnetcoding.cnblogs.com/版权形式:免费开源:否一款人气很旺的免费C#代码生成器官...

Java主流Web Service框架介绍:CXF和Axis2

CXF和Axis2是目前java平台上最主流的两个框架,虽然两个项目都隶属ASF,但却是基于不同思想和风格实现的,因此也各有所长。     CXF:http://cxf.apache.org/ 是由过去的Celtix和XFire两个框架合并而来,CXF在java社区有广泛的接受度是得益于它能很好的集成Spring。我认为CXF最突出的两个优势是:1.对JAX-WS规范的完整实现。 作为java平台上的WebService标准,过去既有的WebService产品必然会向这一标准靠拢,而JAX-WS标准本身大大地降低了开发WebService的工作量,对于开发人员来说,是非常受欢迎的。 2.对Spring的友好支持。 CXF从Xfire继承而来,对Spring有着非常友好的支持。鉴于Spring的广泛应用,对很多团队来说这是非常有吸引力的一点。     Axis2: http://axis.apache.org/axis2/java/core/ 与CXF这类嵌入式的框架相...
首页上一页...7891011...下一页尾页