首页 文章 精选 留言 我的

精选列表

搜索[技能变化],共10002篇文章
优秀的个人博客,低调大师

Android2.0 Release 1 Eclair API变化预览

图:Google总部很有趣,很有意思、也很有纪念意义的Android版本更新标志 Android2.0 也发布有一段时间了,网上一搜索关于Android2.0的消息还真不少,为了响应与时俱进的思想,所以还是抽出时间来将SDK更新到了2.0的状态,这次可是一次中道的更新哦,下面这一段也是网上出现频率最高的了: ================================= Android2.0平台为开发者提供了新的API功能,其中包括同步功能,蓝牙功能等,开发者现在可以利用 Android2.0编写能让手机直接与外部联系人列表同步的程序,而蓝牙功能则可令游戏程序直接呼叫蓝牙功能实现手机联网游戏。 * 可将多个电子邮件账户的收件箱合并在一起显示; * 支持短信搜索功能; * 支持摄像头内置闪光灯,支持数字缩放功能; * 改进虚拟键盘的设计,改善短信输入正确率和速度; * 支持HTML5网页格式; * 支持蓝牙2.1功能. ================================= 的确我们可以看出增加了不少功能,下面是更新的详细内容: 增加的包: android.accounts android.bluetooth android.telephony.cdma 改变的包: android android.app android.content android.content.pm android.content.res android.database android.database.sqlite android.graphics android.graphics.drawable android.hardware android.inputmethodservice android.location android.media android.opengl android.os android.provider android.telephony android.test android.test.mock android.text android.text.format android.text.style android.util android.view android.view.animation android.webkit android.widget dalvik.system java.lang java.net java.util java.util.concurrent java.util.concurrent.locks 更多关于Android2.0的信息,大家可以参考官方的文档。更上Android的步伐,千万不要掉队。呵呵! 本文转自 yarin 51CTO博客,原文链接:http://blog.51cto.com/yarin/380355,如需转载请自行联系原作者

优秀的个人博客,低调大师

盘点:这多半年容器市场发生的变化

随着容器市场高速增长,每个业界供应商都在这一领域快速迭代,提供新功能。实际上,因为发展太快,本文的观点很可能在两个月后就过时了。两个月前我在旧金山参加2015 DockerCon,从那以后,每个厂商都有了重要新功能发布或者新的合作关系。此文是在最热的容器领域,对主要供应商的重要发布进行回顾,包括 Docker、CoreOS、Kubernetes和Mesos。 Docker 在DockerCon上Docker公司宣布他们接下来将着重关注Docker在生产环境中的应用,并提出了『可编程互联网』的概念,致力于打造下一代互联网平台;最近Docker又发布了新的1.8版本,具有如下特性: Docker Toolbox。Toolbox 是一个运行在Windows、Mac和Linux上的工具集,大幅度简化了Docker的安装。在此之前,Docker提供了一个叫 Boot2Docker的工具,经常需要调错才能成功运行。我个人从来没有在我自己的笔记本上运行成功过Docker,而我一般都是在Google Cloud Platform上的VM中安装Docker,但是现在使用Toolbox在PC上工作非常爽。当然在初始阶段迁移旧Virtual Box时碰到不少问题,但是我卸载了旧系统,重装Toolbox,一切都正常了。这对于想在自己电脑上安装配置Docker的开发者来说无疑是个好消息。 Docker Content Trust。 Docker在DockerCon上承诺将会专注于改进安全性,这样企业可以将Docker用于生产环境,内容可信是朝这个方向迈进的重要一步。内容可信在Docker镜像中加入公有、私有秘钥对,用户可以验证Docker镜像的发行者,保护镜像不会被伪造、重放攻击和密钥泄露伪装攻击。内容可信采用了Notary和TUF框架,以期能够建立一套分布式应用的最佳实践。 Docker Engine 1.8。网络和存储抽象会是下一个整合进容器的主要功能增强。Docker Engine 1.8是走向存储抽象的第一步,在这一版中,Docker还发布了许多存储和日志驱动的插件,另外还发布了很多CLI和运行时的增强。 Docker Registry和Compose改进。Docker还发布了很多Registry和编排的增强功能,这些增强大多专注于提高性能和可用性。 最新的Docker发行版在两个月内一下子发布了这么多令人印象深刻的功能增强,不禁令人赞叹不已。 Kubernetes 谷歌的Kubernetes非常迅速的占据了容器市场。不管客户在用Docker还是 Rkt,Kubernetes都是事实上管理运行大规模容器集群的标准。尽管Docker有Swarm和Compose也是做这个用的,但是如果碰到容器扩展性问题时,甚至Docker也会告诉你Kubernetes是正确的选择。谷歌目前也在快速迭代各种功能,下面列出的是Kubernetes中一些重要的发布信息: 支持OpenStack。谷歌宣布正式加入OpenStack基金会。这对私有云和混合云领域的公司来说无疑是个好消息。另外,Kubernetes现在可以运行在OpenStack上,而且一些私有云方案也跟Kubernetes整合在一起。期望很快能看到这一领域的更多进展。 Kubernetes 1.0 发布。1.0 是一个里程碑。Kubernetes现在可以用于生产环境,并推出了很多引人注目的新功能,例如,集群管理、高性能和扩展性、计算、网络和存储层的抽象服务,一些重要客户,例如Box和Redhat,都开始应用这些新功能。同时,Kubernetes也公布了和CloudBees、CoreOS的合作关系。借助于Kubernetes,客户可以在Google云平台上运行一个可管理的容器服务,或者在任何共有、私有云上运行Kubernetes。 CoreOS Docker并不是唯一一个容器技术公司,CoreOS也是另外一个重要的参与者。CoreOS有一套容器相关的生态系统。Rkt(发音为“Rocket”),是与Docker容器直接竞争的产品。Alex Polvi,CoreOS CEO,之所以开发了Rkt,是因为他不喜欢Docker的安全机制。Docker使用了一个集中式的daemon,造成所有命令都需要特权级访问(“root access”)。而Rkt则允许用户在Docker中创建容器,而在生产环境中运行Rkt。 今天Docker吸引了太多人的眼球,同时CoreOS也表现近乎疯狂。以下是关于CoreOS的一些发布功能: etcd 2.1。etcd是一个开源的、分布式的、键值一致性的数据库,用于分发配置、发现服务和调度同步。在这一版中,CoreOS发布了很多更新,例如认证、授权API、传输稳定性,etcd服务器之间性能提高、增强集群稳定性等。 Tectonic。 CoreOS发布了一个新服务,用于运行容器平台的商业发布。包括运行容器(Docker、Rkt和Kubernetes)所需模块的所有支持和服务。有了这个新服务,可以用容器运行可扩展分布式应用并且有7x24支持服务。他们也给客户提供最佳实践培训。这个新服务现在是试运行,但很快会正式发布。 与Mirantis(OpenStack)的整合。紧跟Kubernetes和OpenStack的发布,Mirantis宣布与Tectonic整合。 这是容器与私有云结合重要一步。如我前述,容器是实现混合云的关键技术。Mirantis的整合使得高效设计公有云、私有云和混合云成为可能。推荐重点关注。 Apache Mesos Mesos是容器领域另外一个主要参与者。Mesos用于管理和调度大规模应用(例如Hadoop、Spark,ElasticSearch和其他大数据技术)的部署。Mesos整合了Docker、Rkt和Kubernetes。以下列出Mesos的一些重要特性: Mesos 0.23发布。最新的版本有很多引人注目的功能改进和新特性。Mesos现在提供创建持久化卷的能力,这个功能对基于状态的服务来说是个利好消息,例如HDFS、Cassandra等。资源利用率的优化,可以避免服务的过度调用。其它关于安全、性能和监控的增强特性也随之发布。 Mesosphere 0.9.0发布。有很多增强和新特性,包括与Docker整合,存储方面和ZooKeeper整合等等。 Mesos将登陆Windows平台。 MesosCon上,Mesosphere公开了在Windows Server 2016预览版本上运行Mesos的Demo。Mesosphere联合创始人表示,现实中许多企业在数据中心是同时使用Linux和Windows。所以,Mesos用户希望能使用一个既能在Linux机器又能在Windows Servers上运行的容器管理工具来执行任务。 总结 容器技术的发展异常迅猛,并且所有的方案都是开源的。建议不参与开源的公司也重点关注这些技术。容器作为一个独立产品或者服务,两年前还不存在,现在已经有四家供应商以难以置信的速度提供看先进的方案。另外还有很多初创公司在填补着安全、容器管理、监控等方面的空白。所有这些新公司都是开源的。DevOps和开源开发模式的组合使得这些公司得以持续飞速发展,而这些是闭源公司不可想象的。尽管只有两年的发展,但是基于微服务架构的容器方案从茵茵绿草成长为参天大树只是时间问题。 本文作者:杨峰 来源:51CTO

优秀的个人博客,低调大师

java程序员应该具备的技能

1、基本语法 这包括static、final、transient等关键字的作用,foreach循环的原理等等。今天面试我问你static关键字有哪些作 用,如果你答出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满 意,因为能看出你非常热衷研究技术。 最深入的一次,我记得面试官直接问到了我Volatile关 键字的底层实现原理(顺便插一句,面试和被面试本身就是相对的,面试官能问这个问题同时也让面试者感觉到面试官也是一个喜爱研究技术的人,增加了面试者对 公司的好感,我最终选择的就是问了这个问题的公司),不要觉得这太吹毛求疵了—-越简单的问题越能看出一个人的水平,别人对你技术的考量绝大多数都是以深度优先、广度次之为标准的,切记。 2、集合 非常重要,也是必问的内容。基本上就是List、Map、Set,问的是各种实现类的底层实现原理,实现类的优缺点。 集合要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、 HashSet的实现原理,能流利作答,当然能掌握CopyOnWrite容器和Queue是再好不过的了。另外多说一 句,ConcurrentHashMap的问题在面试中问得特别多,大概是因为这个类可以衍生出非常多的问题,关于ConcurrentHashMap, 我给网友朋友们提供三点回答或者是研究方向: (1)ConcurrentHashMap的锁分段技术。 (2)ConcurrentHashMap的读是否要加锁,为什么。 (3)ConcurrentHashMap的迭代器是强一致性的迭代器还是弱一致性的迭代器。 我刚整理了一套2018最新的0基础入门和进阶教程,无私分享,加Java学习q-u-n :六七八,二四一,五六三 即可获取,内附:开发工具和安装包,以及系统学习路线图 3、框架 老生常谈,面试必问的东西。一般来说会问你一下你们项目中使用的框架,然后给你一些场景问你用框架怎么做,比如我想要在Spring初始化bean 的时候做一些事情该怎么做、想要在bean销毁的时候做一些事情该怎么做、MyBatis中$和#的区别等等,这些都比较实际了,平时积累得好、有多学习 框架的使用细节自然都不成问题。 如果上面你的问题答得好,面试官往往会深入地问一些框架的实现原理。问得最多的就是Spring AOP的实现原理,当然这个很简单啦,两句话就搞定的的事儿,即使你不会准备一下就好了。我遇到的最变态的是让我画一下Spring的Bean工厂实 现的UML图,当然面对这样一个有深度的问题,我是绝对答不出来的/(ㄒoㄒ)/~~ 4、数据库 数据库十有八九也都会问到。一些基本的像和 all的区别、left join、几种索引及其区别就不谈了,比较重要的就是数据库性能的优化,如果对于数据库的性能优化一窍不通,那么有时间,还是建议你在面试前花一两天专门 把SQL基础和SQL优化的内容准备一下。 不过数据库倒是不用担心,一家公司往往有很多部门,如果你对数据库不熟悉而基本技术又非常好,九成都是会要你的,估计会先把你放到对数据库使用不是要求非常高的部门锻炼一下。 5、Web方面的一些问题 Java主要面向Web端,因此Web的一些问题也是必问的。 我碰到过问得最多的两个问题是: 谈谈分布式Session的几种实现方式。 常用的四种能答出来自然是让面试官非常满意的。 另外一个常问的问题是:讲一下Session和Cookie的区别和联系以及Session的实现原理。这两个问题之外,web.xml里面的内容是重点,Filter、Servlet、Listener,不说对它们的实现原理一清二楚吧,至少能对它们的使用知根知底。另外,一些细节的方面比如get/post的区别、forward/重定向的区别、HTTPS的实现原理也都可能会被考察到。 6、数据结构和算法分析 数据结构和算法分析,对于一名程序员来说,会比不会好而且在工作中绝对能派上用场。数组、链表是基础,栈和队列深入一些但也不难,树挺重要的,比较 重要的树AVL树、红黑树,可以不了解它们的具体实现,但是要知道什么是二叉查找树、什么是平衡树,AVL树和红黑树的区别。记得某次面试,某个面试官和 我聊到了数据库的索引,他问我:你知道索引使用的是哪种数据结构实现吗? 我答到用的Hash表吧,答错。他又问,你知道为什么要使用树吗?我答到因为Hash表可能会出现比较多的冲突,在千万甚至是上亿级别的数据面 前,会大大增加查找的时间复杂度。而树比较稳定,基本保证最多二三十次就能找到想要的数据,对方说不完全对,最后我们还是交流了一下这个问题,我也明白了 为什么要使用树,这里不说,网友朋友们觉得索引为什么要使用树来实现呢? 至于算法分析,不会、不想研究就算了,记得某次面试对方问我,Collections.sort方法使用的是哪种排序方法,额,吐血三升。当然为了 显示我的博学,对算法分析也有一定的研究(⊙﹏⊙)b,我还是硬着头皮说了一句可能是冒泡排序吧。当然答案肯定不是,有兴趣的网友朋友们可以去看一下 Collections.sort方法的源代码,用的是一种叫做TimSort的排序法,也就是增强型的归并排序法。 7、Java虚拟机 出乎我的意料,Java虚拟机应该是很重要的一块内容,结果在这几家公司中被问到的概率几乎为0。要知道,我去年可是花了大量的时间去研究Java虚拟机的,光周志明老师的《深入理解Java虚拟机:JVM高级特性与最佳实践》,我就读了不下五遍。 言归正传,虽然Java虚拟机没问到,但我觉得还是有必要研究的,我就简单地列一个提纲吧,谈谈Java虚拟机中比较重要的内容: (1)Java虚拟机的内存布局 (2)GC算法及几种垃圾收集器 (3)类加载机制,也就是双亲委派模型 (4)Java内存模型 (5)happens-before规则 (6)volatile关键字使用规则 也许面试无用,但在走向大牛的路上,不可不会。 8、设计模式 本来以为蛮重要的一块内容,结果只在阿里巴巴B2B事业部面试的时候被问了一次,当时问的是装饰器模式。 当然咱们不能这么功利,为了面试而学习,设计模式在工作中还是非常重要、非常有用的,23种设计模式中重点研究常用的十来种就可以了,面试中关于设计模式的问答主要是三个方向: (1)你的项目中用到了哪些设计模式,如何使用。 (2)知道常用设计模式的优缺点。 (3)能画出常用设计模式的UML图。 9、多线程 这也是必问的一块了。因为三年工作经验,所以基本上不会再问你怎么实现多线程了,会问得深入一些比如说Thread和Runnable的区别和联 系、多次start一个线程会怎么样、线程有哪些状态。当然这只是最基本的,出乎意料地,几次面试几乎都被同时问到了一个问题,问法不尽相同。 总结起来是 这么一个意思: 假如有Thread1、Thread2、ThreaD3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现? 聪明的网友们对这个问题是否有答案呢?不难,java.util.concurrent下就有现成的类可以使用。 另外,线程池也是比较常问的一块,常用的线程池有几种?这几种线程池之间有什么区别和联系?线程池的实现原理是怎么样的?实际一些的,会给你一些具体的场景,让你回答这种场景该使用什么样的线程池比较合适。 最后,虽然这次面试问得不多,但是多线程同步、锁这块也是重点。synchronized和ReentrantLock的区别、 synchronized锁普通方法和锁静态方法、死锁的原理及排查方法等等。 10、JDK源码 要想拿高工资,JDK源码不可不读。上面的内容可能还和具体场景联系起来,JDK源码就是实打实地看你平时是不是爱钻研了。我面试过程中被问了不 少JDK源码的问题,其中最刁钻的一个问了我,String的hashCode()方法是怎么实现的,幸好我平时String源代码看得多,答了个大 概。 JDK源码其实没什么好总结的,纯粹看个人,总结一下比较重要的源码: (1)List、Map、Set实现类的源代码 (2)ReentrantLock、AQS的源代码 (3)AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的 (4)线程池的实现原理 (5)Object类中的方法以及每个方法的作用

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册