怎么编写程序序计算a=4c/b的值,处理当b=0时的情况(要求:使用Java的异常处理机制)。

举一反三(巩固练习,成绩显著提升,去)
根据问他()题库系统分析,
试题“设函数f(x)=alnx-bx2。(1) 当a=2,b=时,...”,相似的试题还有:
设函数f(x)=alnx-bx2(x>0)。(1)若函数f(x)在x=1处与直线y=相切,①求实数,b的值;②求函数f(x)在[,e]上的最大值;(2)当b=0时,若不等式f(x)≥m+x对所有的a∈[0,],x∈(1,e2]都成立,求实数m的取值范围。
设函数f(x)=alnx-bx2(x>0),(1)若函数f(x)在x=1处与直线y=相切,①求实数a,b的值;②求函数f(x)在[,e]上的最大值;(2)当b=0时,若不等式f(x)≥m+x对所有的a∈[0,],x∈(1,e2]都成立,求实数m的取值范围。
设函数f(x)=alnx-bx2(x>0)。(1)若函数f(x)在x=1处与直线y=相切,①求实数a,b的值;②求函数f(x)在[,e]上的最大值;(2)当b=0时,若不等式f(x)≥m+x对所有的a∈[0,],x∈(1,e2]都成立,求实数m的取值范围。&img src=&/v2-fbfa91bae1c5_b.jpg& data-rawwidth=&500& data-rawheight=&333& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/v2-fbfa91bae1c5_r.jpg&&&p&原本一直是写JS,工作之后开始慢慢涉猎Java领域。大学时期帮学校开发了一个校园网主页,也会维护一些管理系统,之后便一路走向程序员,不可回头。&/p&&p&虽然Java很火,但个人认为,以后的大数据和数据科学对学JAVA的更加大有可为。(好吧,又啰嗦了)&/p&&p&回到正题,最近对收集了几个可供业余练手的Java web项目,有些可能起手并不低,但大多有比较详细的参考文档,欢迎大家收藏~&/p&&p&&b&【可供fork的】&/b&&/p&&p&&b&1.1 一个模仿电商天猫整站的实践项目。&/b&从项目规划设计,到J2EE整套技术,以及整个编程思想,由浅入深。简历上添上这样一段经历,应该增色不少。 &/p&&p&&a href=&/?target=http%3A///k/tmall-j2ee/tmall-j2ee-894/894.html%3Fp%3D10447& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/k/tmall-j2ee/t&/span&&span class=&invisible&&mall-j2ee-894/894.html?p=10447&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&/p&&img src=&/v2-fd287de71aecf3bafc2f57_b.png& data-rawwidth=&1348& data-rawheight=&915& class=&origin_image zh-lightbox-thumb& width=&1348& data-original=&/v2-fd287de71aecf3bafc2f57_r.png&&&p&&br&&/p&&p&&b&1.2 开源的CMS管理系统 jeetemp。&/b&比较贴合企业的应用场景,比如一些简单的信息管理系统,电子政务系统。&/p&&p&&a href=&/?target=http%3A///share/6784.htm& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/share/1550&/span&&span class=&invisible&&.htm&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&b&1.3 类似的还有一个超市管理系统。&/b&这是多个项目的合集,每个文件夹下存在一个Java项目,涉及不同知识层次的Java内容,由浅入深的步伐频率。&/p&&p&&a href=&/?target=https%3A///zhanglei-workspace/shopping-management-system& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhanglei-workspace/shopping-management-system&i class=&icon-external&&&/i&&/a&&/p&&p&&b&【实战项目】&/b&&/p&&p&&b&2.1&/b& GitHub、CSDN上总有大神会分享一些实际的项目可fork,比如知乎上翻到@codingXiaxw提供的一个项目,做&b&客户管理系统&/b&,内容很完整,对我下面想要参加的一个项目有点帮助。&/p&&p&&a href=&/?target=http%3A////25-JavaWeb%25E9%25A1%25B9%25E7%259B%25AE%25E4%25B9%258B%25E5%25AE%25A2%25E6%%25E7%25AE%25A1%25E7%E7%25B3%25BB%25E7%25BB%259F/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/2016/10/&/span&&span class=&invisible&&25/25-JavaWeb%E9%A1%B9%E7%9B%AE%E4%B9%8B%E5%AE%A2%E6%88%B7%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&b&2.2&/b& 最近正准备参加的一个&b&可视化插件的比赛项目&/b&,也想趁机涉猎一下大数据、可视化领域。&b&最主要的是奖金很吸引人,报名记得推荐人写我(知乎名)哈~&/b&&/p&&p&&a href=&/?target=http%3A///thread-.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/thread-&/span&&span class=&invisible&&.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&/p&&img src=&/v2-c6c8ac13a6dab_b.jpg& data-rawwidth=&690& data-rawheight=&317& class=&origin_image zh-lightbox-thumb& width=&690& data-original=&/v2-c6c8ac13a6dab_r.jpg&&&p&&br&&/p&&p&&b&2.3 &/b&其实很多企业每年都会有类似的&b&开发比赛&/b&,比如上面这个活动是貌似是帆软举办的。像今年华为也有开发者大赛,不过暂时错过了,明年可关注。&/p&&p&&a href=&/?target=http%3A///ict/cn/hdc/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/ic&/span&&span class=&invisible&&t/cn/hdc/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&b&2.4&/b& 其他的,业余我会在码市上找一些&b&外包项目&/b&,做做网站Discuz,期间会涉及到很多需求和流程的东西,和不同公司人交流,比较能提高沟通和解读的能力。&/p&&p&&a href=&/?target=https%3A//mart.coding.net/projects& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&mart.coding.net/project&/span&&span class=&invisible&&s&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&
原本一直是写JS,工作之后开始慢慢涉猎Java领域。大学时期帮学校开发了一个校园网主页,也会维护一些管理系统,之后便一路走向程序员,不可回头。虽然Java很火,但个人认为,以后的大数据和数据科学对学JAVA的更加大有可为。(好吧,又啰嗦了)回到正题,最…
&p&Lambda之所以觉得难学,是因为它的风格和&b&“传统”&/b&的Java代码迥异,一下子转不过弯过来,其实在稍微熟悉Lambda之后,会发现其实还是很好理解的。&/p&&p&写过一篇Lambda入门教程,就是从 “传统” 的Java代码,一步一步演化到Lambda,来辅助Java程序员去理解Lambda的设计初衷以及它是用于解决什么问题的。&/p&&p&代码目的: 筛选出血量&100,伤害&50的那些Hero对象&/p&&img src=&/v2-2628b1afcbf7c376f16d43_b.png& data-rawwidth=&181& data-rawheight=&29& class=&content_image& width=&181&&&br&&p&一. 传统方式&/p&&img src=&/v2-b0c0ddcfcbf4ed3c55b36710_b.png& data-rawwidth=&527& data-rawheight=&196& class=&origin_image zh-lightbox-thumb& width=&527& data-original=&/v2-b0c0ddcfcbf4ed3c55b36710_r.png&&&br&&br&&p&二. 传统方式修改为匿名类方式,现在还是 “传统” 的Java代码&/p&&br&&img src=&/v2-707f7b9f8e876ab25ce61_b.png& data-rawwidth=&785& data-rawheight=&339& class=&origin_image zh-lightbox-thumb& width=&785& data-original=&/v2-707f7b9f8e876ab25ce61_r.png&&&br&&br&&p&三. 使用“Lambda方式”解决 “匿名类方式” 的问题&/p&&br&&img src=&/v2-ad90b8b07f89afdbdb6ae08f_b.png& data-rawwidth=&777& data-rawheight=&208& class=&origin_image zh-lightbox-thumb& width=&777& data-original=&/v2-ad90b8b07f89afdbdb6ae08f_r.png&&&p&比较和第二步的区别,&/p&&p&filter(heros,checker);&/p&&p&filter(heros,h-&h.hp&100 && h.damage&50);&/p&&p&这一步是不是就有点像是 Lambda,&b&抠出&/b&了 匿名类里的 “算法” 部分直接使用了?下一步讲解如何从一个匿名类一点点演变成Lambda表达式 &/p&&p&四. 演化过程:&/p&&br&&img src=&/v2-edbd5f5de810ccba4160dd6_b.png& data-rawwidth=&491& data-rawheight=&829& class=&origin_image zh-lightbox-thumb& width=&491& data-original=&/v2-edbd5f5de810ccba4160dd6_r.png&&&p&看,Lambda表达式,还真就是匿名类里的算法部分。&/p&&p&五. 设计了一个稍稍复杂的练习,测试一下自己对Lambda表达式的运用与掌握情况&/p&&br&&img src=&/v2-13ef2cdaaeb07add5aae753bdd627896_b.png& data-rawwidth=&712& data-rawheight=&43& class=&origin_image zh-lightbox-thumb& width=&712& data-original=&/v2-13ef2cdaaeb07add5aae753bdd627896_r.png&&&br&&p&六. 如果文字看了还是不理解,这时带着问题,再看看视频讲解,差不多就明白了&/p&&br&&img src=&/v2-4b5c0dca920d85f29d15_b.png& data-rawwidth=&255& data-rawheight=&226& class=&content_image& width=&255&&&p&教程地址:&a href=&///?target=http%3A///k/lambda/lambda-lamdba-tutorials/697.html%3Ftid%3D75& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/k/lambda/lambd&/span&&span class=&invisible&&a-lamdba-tutorials/697.html?tid=75&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&谢谢&/p&
Lambda之所以觉得难学,是因为它的风格和“传统”的Java代码迥异,一下子转不过弯过来,其实在稍微熟悉Lambda之后,会发现其实还是很好理解的。写过一篇Lambda入门教程,就是从 “传统” 的Java代码,一步一步演化到Lambda,来辅助Java程序员去理解Lambda的…
&h4&先看看这些程序员技能树,你掌握或了解哪些?OMG竟然有么多~~~震精!震精!!!&/h4&&img src=&/v2-553ea2ead3eb82e29e05c_b.png& data-rawwidth=&372& data-rawheight=&656& class=&content_image& width=&372&&&img src=&/v2-94b5bbaa4f51_b.png& data-rawwidth=&370& data-rawheight=&815& class=&content_image& width=&370&&&img src=&/v2-b6e8e017ea95_b.png& data-rawwidth=&370& data-rawheight=&706& class=&content_image& width=&370&&&p&这是从450家企业的招聘信息中统计而来,相对来说还是比较真实的,虽然有些公司的招聘要求万年不变,但还是可以大致反应企业的招聘要求的。&/p&&p&尽管Struts2漏洞频出,但是由于政府、银行以及传统企业遗留项目大部分还是采用Struts2的,所以还是占有一定市场,但绝壁不会增长。新兴互联网公司,一般来说主要是Spring家族居多,spring、spring Mvc以及Spring Boot 出现的频率较多。&/p&&p&从图中可以看出,分布式服务框架应用也是大部分企业招聘的必要条件了,阿里系的Dubbo名列前茅。相应的分布式应用程序协调服Zookeeper也出现在其中。&/p&&p&时下很流行的RESTful架构,准确的来说它是一种标准。也是很多企业考察的对象。&/p&&p&以下是出现次数超过100的一些技能,大家可以做一个参考。&/p&&blockquote&&p&Spring 299 &br&MySQL 290 &br&JavaScript 216&br&Linux 165&br&J2EE 151&br&设计模式 148&br&Struts2 138&br&Hibernate 132&br&Mybatis 130&br&jQuery 128&br&HTML 127&br&TOMCAT 117&br&iBatis 103&br&CSS 103&br&redis 102&br&多线程 102&br&dubbo 47 (绝壁不是打酱油的)&/p&&/blockquote&&p&相信每个程序员、或者说每个工作者都应该有自己的职业规划,问一下自己对编程到底持有的是一种什么样的态度,是够用就好呢还是不断研究?&/p&&p&小编对问题中的答案进行了精选,姿势准备好大图如下:&/p&&p&&b&社区昵称 似水的流年 的精彩回答:&/b&&/p&&p&java,php。这些排第一的除了还没用分布式的框架,其他的都在用,还是linux大法好&br&&/p&&img src=&/v2-75bd236c4cc_b.jpg& data-rawwidth=&1024& data-rawheight=&644& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/v2-75bd236c4cc_r.jpg&&&br&&p&&img src=&/v2-5969dbd3f6f8bf524d06da2aa98b5970_b.png& data-rawwidth=&2220& data-rawheight=&10114& class=&origin_image zh-lightbox-thumb& width=&2220& data-original=&/v2-5969dbd3f6f8bf524d06da2aa98b5970_r.png&&&b&社区昵称 &/b&&b&阿狸小狐&/b&&b& 的精彩回答:&/b&&br&&/p&&p&JAVA核心技术总结&br&&/p&&img src=&/v2-554ecb1fd82f51a751f2_b.jpg& data-rawwidth=&1724& data-rawheight=&2328& class=&origin_image zh-lightbox-thumb& width=&1724& data-original=&/v2-554ecb1fd82f51a751f2_r.jpg&&&p&J2EE技术总结&br&&/p&&img src=&/v2-0eabd97086bdcd76a57edccc4f7157e0_b.jpg& data-rawwidth=&1337& data-rawheight=&1603& class=&origin_image zh-lightbox-thumb& width=&1337& data-original=&/v2-0eabd97086bdcd76a57edccc4f7157e0_r.jpg&&&p&工作和学习总结&br&&/p&&img src=&/v2-24df831f42bd20e721e50b5baa1b3361_b.jpg& data-rawwidth=&905& data-rawheight=&842& class=&origin_image zh-lightbox-thumb& width=&905& data-original=&/v2-24df831f42bd20e721e50b5baa1b3361_r.jpg&&&p&大数据相关技术总结&br&&/p&&img src=&/v2-e800f8b1d226bcf71e3a6910204fdb19_b.jpg& data-rawwidth=&1057& data-rawheight=&729& class=&origin_image zh-lightbox-thumb& width=&1057& data-original=&/v2-e800f8b1d226bcf71e3a6910204fdb19_r.jpg&&&p&&b&社区昵称 &/b&&b&happycc&/b&&b& 的精彩回答:&/b&&br&&/p&&p&正在使用的&/p&&p&Spring框架&br&Spring框架是一个分层架构,有7个定义良好的模块组成&br&spring模块构建在核心容器智之上, 核心容器定义了创建、 配置、和管理bean的方式&br&组成spring框架的每个模块(或组件)都可以单独存在, 或者与其他一个或多个模块联合实现&/p&&p&模块如下:&/p&&p&复制代码&br&1--核心容器&br&核心容器提供spring框架的基本功能,核心容器的主要组件是BeanFactory, 他是工厂模式的实现. &br&BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性与实际的应用程序代码分开&/p&&p&2--Spring上下文&br&是一个配置文件,该配置文件向spring框架提供上下文信息&/p&&p&3--Spring AOP&br&通过配置管理特性,Spring AOP 模块直接将面向切面(方面)编程功能集成到spring框架中&/p&&p&4--spring DAO&br&JDBC DAO抽象层提供了有意义的已成层次结构, 可用该结构管理异常处理和不同数据库抛出的错误信息,极大的降低了异常代码数量&/p&&p&5--Spring ORM&br&spring框架插入了若干个ORM框架, 从而提供了ORM的对象工具,其中包括了Hibernate, Mybatis&/p&&p&6--Spring Web&br&web上下文模块建立在应用程序上下文模块之上,为基于web的应用程序提供上下文&/p&&p&7--Spring MVC&br&该框架是一个全功能的构建web应用程序的MVC实现. 通过策略接口,MVC框架变成高度可配置的. MVC容纳了大量视图技术. 其中包括JSP、Velocity和POI&br&复制代码&br&Spring 框架的好处&/p&&p&spring是最大的工厂&br&spring负责业务逻辑组件的框架和生成, 并管理业务逻辑组件的生命周期&br&spring可以生产所有实例, 从控制器、 业务逻辑组件、 持久层组件&br&Spring特点&/p&&p&复制代码&br&1--降低了组件之间的耦合性, 实现了软件各个层之间的解耦&br&2--可以使用spring容器提供的服务, 如: 事务管理, 消息服务&br&3--容器提供单例模式支持&br&4--容器提供AOP技术, 利用它很容易实现权限拦截, 运行期监控&br&5--容器提供了众多的辅助类, 能加快应用的开发(org.springframework.jdbc.core.JDBCTemplate 等)&br&6--spring对主流的应用框架提供了集成支持, 例如: hibernate,JPA, Struts, Mybatis(IBatis)&br&7--Spring属于低侵入式设计, 代码污染度极低&br&8--独立于各种应用服务器&br&9--spring的DI机制降低了业务对象替换的复杂性&br&10--spring的高度开发性, 并不强制应用完全依赖于spring, 开发者可以自由选择spring的部分或者全部&/p&&br&&p&&b&社区昵称 小崽崽 的精彩回答:&/b&(小崽崽同学,你确定不是来拉仇恨的嘛?这是有关java的问答啊....这篇评论火了,可以点击链接查看:&a href=&/?target=https%3A///roundtable/50380& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&作为一名合格的JAVA程序员需要点亮那些技能树?-聚能聊-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&)&br&&/p&&p&PHP才是世界上最好的语言,看我大PHP技能树&br&&/p&&img src=&/v2-8a8f2ef56f6b687b0cb1b2ae_b.jpg& data-rawwidth=&813& data-rawheight=&895& class=&origin_image zh-lightbox-thumb& width=&813& data-original=&/v2-8a8f2ef56f6b687b0cb1b2ae_r.jpg&&&br&&img src=&/v2-80cbe3f4e77f2aa0d4ff1511aaf3b179_b.png& data-rawwidth=&1396& data-rawheight=&3268& class=&origin_image zh-lightbox-thumb& width=&1396& data-original=&/v2-80cbe3f4e77f2aa0d4ff1511aaf3b179_r.png&&&br&&h4&各位攻城狮们在评论中聊聊你们的看法&/h4&&h4&你所掌握的语言是什么?又是如何点亮自己的技能树的?&/h4&&h4&或是准备点亮哪些技能树?精彩评论可以获得云栖大会套装(2016款云栖大会纪念版T恤衫、纪念版金色徽章、纪念版帽子)&/h4&
先看看这些程序员技能树,你掌握或了解哪些?OMG竟然有么多~~~震精!震精!!!这是从450家企业的招聘信息中统计而来,相对来说还是比较真实的,虽然有些公司的招聘要求万年不变,但还是可以大致反应企业的招聘要求的。尽管Struts2漏洞频出,但是由于政…
&h2&Java技术百问,从程序员小仙飞升上神&/h2&&br&&blockquote&&p&Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。&/p&&/blockquote&&p&随着Java的语言的广泛应用,云栖社区问答也接到了越来越多的Java问题,正所谓“高手在民间”小编特整理了Java百问,对一些常见的问题与解答的集锦。并将问题进行了分类,从新手起步——老司机进阶——代码纠错——技术热议,让各阶程序员快速找到适合自己内容。&br&此页面将不断更新,将百问尽快整理完善,也欢迎大家回复投搞,及参与更多Java问题和讨论!&/p&&h4&一、Java新手起步&/h4&&p&请教各位如何快速上手Java web ?&br&&a href=&/?target=https%3A///ask/29227& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&请教各位如何快速上手java web ?&i class=&icon-external&&&/i&&/a&&/p&&p&Java对象转型问题&br&&a href=&/?target=https%3A///ask/26613& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java对象转型问题-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java字符排序问题&br&&a href=&/?target=https%3A///ask/26311& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JAVA字符排序问题-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java工厂模式的应用&br&&a href=&/?target=https%3A///ask/26642& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java工厂模式的应用-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java :多线程问题用runnable&br&&a href=&/?target=https%3A///ask/27067& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java :多线程问题用runnable&i class=&icon-external&&&/i&&/a&&/p&&p&Java线程该怎么使用?&br&&a href=&/?target=https%3A///ask/24056& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java线程该怎么使用?-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java中的引用和new的用法&br&&a href=&/?target=https%3A///ask/25841& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java中的引用和new的用法-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&作为一个Java学习者,重复写轮子是否必要&br&&a href=&/?target=https%3A///ask/48209& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&作为一个java学习者,重复写轮子是否必要-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java开发中会在什么情况下创建实体类&br&&a href=&/?target=https%3A///ask/26164& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java开发中会在什么情况下创建实体类-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java如何读取pdf文件并局部显示在html页面上?&br&&a href=&/?target=https%3A///ask/49124& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java如何读取pdf文件并局部显示在html页面上?-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java课程成绩从高到低排序&br&&a href=&/?target=https%3A///ask/26508& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java课程成绩从高到低排序-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java序列化的并发问题&br&&a href=&/?target=https%3A///ask/23595& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java序列化的并发问题-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&h4&二、Java老司机进阶&/h4&&p&Java socket 的通信问题?&br&&a href=&/?target=https%3A///ask/23084& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java socket 的通信问题?&i class=&icon-external&&&/i&&/a&&/p&&p&Java如何调用.net发布 的WebService&br&&a href=&/?target=https%3A///ask/25911& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java如何调用.net发布 的WebService&i class=&icon-external&&&/i&&/a&&/p&&p&Java TreeSet定制排序&br&&a href=&/?target=https%3A///ask/24211& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java TreeSet定制排序&i class=&icon-external&&&/i&&/a&&/p&&p&java +html开发的网站如何选取云服务&br&&a href=&/?target=https%3A///ask/48930& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java +html开发的网站如何选取云服务&i class=&icon-external&&&/i&&/a&&/p&&p&求Java架构师成长之道&br&&a href=&/?target=https%3A///ask/46609& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&求Java架构师成长之道-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&虚拟主机是Linux系统的,请问能否在上面运行JAVAWEB的项目&br&&a href=&/?target=https%3A///ask/48018& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&虚拟主机是Linux系统的,请问能否在上面运行JAVAWEB的项目-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java实现把一个表的数据导入到另一个表&br&&a href=&/?target=https%3A///ask/43446& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java实现把一个表的数据导入到另一个表-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&我用的Java做的网站,如何才能使用伪静态&br&&a href=&/?target=https%3A///ask/39960& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我用的JAVA做的网站,如何才能使用伪静态-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&求推荐可以学习并参与的Java开源项目&br&&a href=&/?target=https%3A///ask/41214& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&求推荐可以学习并参与的Java开源项目-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java后端如何下载某个目录下的所有文件&br&&a href=&/?target=https%3A///ask/38826& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java后端如何下载某个目录下的所有文件-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&关于Java中的二维数组的空间分配问题&br&&a href=&/?target=https%3A///ask/26363& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&关于java中的二维数组的空间分配问题-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java如何实现文本框数字滚动&br&&a href=&/?target=https%3A///ask/23583& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JAVA如何实现文本框数字滚动-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&目前中间件技术都是Java语言实现的吗?&br&&a href=&/?target=https%3A///ask/39857& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&目前中间件技术都是Java语言实现的吗?是否有c++,python和nodejs等语言的相关产品?-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java如何通过uploadify上传到阿里云oss&br&&a href=&/?target=https%3A///ask/37387& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java如何通过uploadify上传到阿里云oss-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&基于Java容器的多应用部署技术实践【精品问答集锦】&br&&a href=&/?target=https%3A///ask/36704& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基于Java容器的多应用部署技术实践【精品问答集锦】-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java怎么调用MySQL存储过程?&br&&a href=&/?target=https%3A///ask/27076& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java怎么调用MySQL存储过程?-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&求 Java Redis连接池工具类&br&&a href=&/?target=https%3A///ask/22068& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&求 java Redis连接池工具类&i class=&icon-external&&&/i&&/a&&/p&&h4&三、代码纠错&/h4&&p&Java程序调错,求解&br&&a href=&/?target=https%3A///ask/24034& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java程序调错-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java web应用读取mysql数据,经常不是最新的,求大神解救&br&&a href=&/?target=https%3A///ask/38995& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java web应用读取mysql数据,经常不是最新的,求大神解救&i class=&icon-external&&&/i&&/a&&/p&&p&Java容器和Docker这种服务容器差别?&br&&a href=&/?target=http%3A///ask/36522& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java容器和Docker这种服务容器差别?-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java中从文件中读取ArrayList报错&br&&a href=&/?target=https%3A///ask/26369& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java中从文件中读取ArrayList报错-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&关于Java反射报错问题&br&&a href=&/?target=https%3A///ask/23803& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&关于java反射报错问题-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java泛型方法参数问题&br&&a href=&/?target=https%3A///ask/24521& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java泛型方法参数问题-问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java连接SQL server2008报错&br&&a href=&/?target=https%3A///ask/23579& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java连接SQL server2008报错&i class=&icon-external&&&/i&&/a&&/p&&p&用cxf2.7.11导出Java客户端文件报错&br&&a href=&/?target=https%3A///ask/23385& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&用cxf2.7.11导出JAVA客户端文件报错 -问答-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&h4&四、Java技术热议&/h4&&p&Java开发者们,那些年我们一起踩过的坑&br&&a href=&/?target=https%3A///roundtable/48549& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java开发者们,那些年我们一起踩过的坑-聚能聊-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&&p&Java开发者们,一起来聊聊大家的开发规约吧&br&&a href=&/?target=https%3A///roundtable/47961& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java开发者们,一起来聊聊大家的开发规约吧-聚能聊-云栖社区-阿里云&i class=&icon-external&&&/i&&/a&&/p&
Java技术百问,从程序员小仙飞升上神 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对…
&img src=&/v2-85e15f886befaabc56aa0_b.jpg& data-rawwidth=&762& data-rawheight=&630& class=&origin_image zh-lightbox-thumb& width=&762& data-original=&/v2-85e15f886befaabc56aa0_r.jpg&&&blockquote&&p&&a href=&/p/& class=&internal&&Java 语法清单&/a&翻译自 &a href=&/?target=https%3A///egek92& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&egek92&i class=&icon-external&&&/i&&/a& 的 &a href=&/?target=http%3A//egek.us/JavaCheatSheet/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JavaCheatSheet&i class=&icon-external&&&/i&&/a&,从属于笔者的 &a href=&/?target=https%3A///wxyyxc1992/Domain-of-ProgrammingLanguage/tree/master/JVM/Java& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java 入门与实践&i class=&icon-external&&&/i&&/a&系列。时间仓促,笔者只是简单翻译了些标题与内容整理,支持原作者请前往原文点赞。需要注意的是,此文在 Reddit 上也引起了广泛的讨论,此文讲解的语法要点还是以 Java 7 为主,未涉及 Java 8 中内容,略显陈旧,读者可以带着批判的视角去看。进阶阅读推荐 &a href=&/p/?group_id=099200& class=&internal&&Java 进阶面试问题列表 - 知乎专栏&/a&,如果你是技术初学者,建议阅读 &a href=&/p/?refer=wxyyxc1992& class=&internal&&2016-我的技术之路:编程知识体系结构&/a&以获得相对完整的技术全局观&/p&&/blockquote&&h1&Java CheatSheet&/h1&&h2&基础&/h2&&h4&hello, world! :&/h4&&img src=&/v2-6aedc335aff356b52d9f70a_b.png& data-rawwidth=&880& data-rawheight=&422& class=&origin_image zh-lightbox-thumb& width=&880& data-original=&/v2-6aedc335aff356b52d9f70a_r.png&&&h4&if-else:&/h4&&img src=&/v2-bacd65ad0_b.png& data-rawwidth=&694& data-rawheight=&334& class=&origin_image zh-lightbox-thumb& width=&694& data-original=&/v2-bacd65ad0_r.png&&&h4&loops:&/h4&&img src=&/v2-e7aae732cbb3_b.png& data-rawwidth=&800& data-rawheight=&579& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/v2-e7aae732cbb3_r.png&&&br&&br&&h4&do-while:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&do {
System.out.println(&Count is: & + count);
} while (count & 11);
&/code&&/pre&&/div&&h4&switch-case:&/h4&&img src=&/v2-1f3d608a68a68793bede303edaace5c8_b.png& data-rawwidth=&782& data-rawheight=&366& class=&origin_image zh-lightbox-thumb& width=&782& data-original=&/v2-1f3d608a68a68793bede303edaace5c8_r.png&&&br&&h4&数组:&/h4&&img src=&/v2-2d4b8a30f26d2e5aa42f46_b.png& data-rawwidth=&500& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/v2-2d4b8a30f26d2e5aa42f46_r.png&&&br&&h4&二维数组:&/h4&&img src=&/v2-0d2cdc8a0e9340a1eaa16da_b.png& data-rawwidth=&342& data-rawheight=&488& class=&content_image& width=&342&&&br&&h4&对象:&/h4&&img src=&/v2-e0e56af4c50b69c3650d79_b.png& data-rawwidth=&592& data-rawheight=&356& class=&origin_image zh-lightbox-thumb& width=&592& data-original=&/v2-e0e56af4c50b69c3650d79_r.png&&&br&&p&类:&br&&/p&&img src=&/v2-dc672ecb39b32cfaf411ee1e2c12f587_b.png& data-rawwidth=&703& data-rawheight=&800& class=&origin_image zh-lightbox-thumb& width=&703& data-original=&/v2-dc672ecb39b32cfaf411ee1e2c12f587_r.png&&&br&&h4&方法:&/h4&&img src=&/v2-f774c70fbcc9a4dfecb8c4_b.png& data-rawwidth=&800& data-rawheight=&350& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/v2-f774c70fbcc9a4dfecb8c4_r.png&&&br&&h4&Java IDE 比较:&/h4&&p&&img src=&/v2-081df239cf0b9cb651117_b.png& data-rawwidth=&800& data-rawheight=&443& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/v2-081df239cf0b9cb651117_r.png&&&br&图片来自 Wikipedia&/p&&p&个人推荐 &a href=&/?target=https%3A///idea/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IntelliJ IDEA&i class=&icon-external&&&/i&&/a& 并且对于 &a href=&/?target=https%3A///student/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&学生免费&i class=&icon-external&&&/i&&/a&.&/p&&h2&字符串操作&/h2&&h4&字符串比较:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&boolean result = str1.equals(str2);
boolean result = str1.equalsIgnoreCase(str2);
&/code&&/pre&&/div&&h4&搜索与检索:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&int result = str1.indexOf(str2);
int result = str1.indexOf(str2,5);
String index = str1.substring(14);
&/code&&/pre&&/div&&h4&单字节处理:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&for (int i=0;i&str1.length();i++){
char aChar = str1.charAt(i);
&/code&&/pre&&/div&&h4&字符串反转:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&public class Main {
public static void main(String[] args) {
String str1 = &whatever string something&;
StringBuffer str1buff = new StringBuffer(str1);
String str1rev = str1buff.reverse().toString();
System.out.println(str1rev);
&/code&&/pre&&/div&&h4&按单词的字符串反转:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&public class Main {
public static void main(String[] args) {
String str1 = &reverse this string&;
Stack&Object& stack = new Stack&&();
StringTokenizer strTok = new StringTokenizer(str1);
while(strTok.hasMoreTokens()){
stack.push(strTok.nextElement());
StringBuffer str1rev = new StringBuffer();
while(!stack.empty()){
str1rev.append(stack.pop());
str1rev.append(& &);
System.out.println(str1rev);
&/code&&/pre&&/div&&h4&大小写转化:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&String strUpper = str1.toUpperCase();
String strLower = str1.toLowerCase();
&/code&&/pre&&/div&&h4&首尾空格移除:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&String str1 = &
str1.trim(); //asdfsdf
&/code&&/pre&&/div&&h4&空格移除:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&str1.replace(& &,&&);
&/code&&/pre&&/div&&h4&字符串转化为数组:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&String str = &tim,kerry,timmy,camden&;
String[] results = str.split(&,&);
&/code&&/pre&&/div&&h2&数据结构&/h2&&h4&重置数组大小:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&int[] myArray = new int[10];
int[] tmp = new int[myArray.length + 10];
System.arraycopy(myArray, 0, tmp, 0, myArray.length);
&/code&&/pre&&/div&&h4&集合遍历:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span& for (Iterator it = map.entrySet().iterator();it.hasNext();){
Map.Entry entry = (Map.Entry)it.next();
Object key = entry.getKey();
Object value = entry.getValue();
&/code&&/pre&&/div&&h4&创建映射集合:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&
HashMap map = new HashMap();
map.put(key1,obj1);
map.put(key2,obj2);
map.put(key2,obj2);
&/code&&/pre&&/div&&h4&数组排序:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&
int[] nums = {1,4,7,324,0,-4};
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));
&/code&&/pre&&/div&&h4&列表排序:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&
List&String& unsortList = new ArrayList&String&();
unsortList.add(&CCC&);
unsortList.add(&111&);
unsortList.add(&AAA&);
Collections.sort(unsortList);
&/code&&/pre&&/div&&h4&列表搜索:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&int index = arrayList.indexOf(obj);
&/code&&/pre&&/div&&h4&finding an object by value in a hashmap:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&hashmap.containsValue(obj);
&/code&&/pre&&/div&&h4&finding an object by key in a hashmap:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&hashmap.containsKey(obj);
&/code&&/pre&&/div&&h4&二分搜索:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&int[] nums = new int[]{7,5,1,3,6,8,9,2};
Arrays.sort(nums);
int index = Arrays.binarySearch(nums,6);
System.out.println(&6 is at index: &+ index);
&/code&&/pre&&/div&&h4&arrayList 转化为 array:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&Object[] objects = arrayList.toArray();
&/code&&/pre&&/div&&h4&将 hashmap 转化为 array:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&Object[] objects = hashmap.entrySet().toArray();
&/code&&/pre&&/div&&h2&时间与日期类型&/h2&&h4&打印时间与日期:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&Date todaysDate = new Date(); //todays date
SimpleDateFormat formatter = new SimpleDateFormat(&EEE, dd MMM yyyy HH:mm:ss&); //date format
String formattedDate = formatter.format(todaysDate);
System.out.println(formattedDate);
&/code&&/pre&&/div&&h4&将日期转化为日历:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&Date mDate = new Date();
Calendar mCal = Calendar.getInstance();
mCal.setTime(mDate);
&/code&&/pre&&/div&&h4&将 calendar 转化为 date:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&Calendar mCal = Calendar.getInstance();
Date mDate = mDate.getTime();
&/code&&/pre&&/div&&h4&字符串解析为日期格式:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&public void StringtoDate(String x) throws ParseException{
String date = &March 20, 1992 or 3:30:32pm&;
DateFormat df = DateFormat.getDateInstance();
Date newDate = df.parse(date);
&/code&&/pre&&/div&&h4&date arithmetic using date objects:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&Date date = new Date();
long time = date.getTime();
time += 5*24*60*60*1000; //may give a numeric overflow error on IntelliJ IDEA
Date futureDate = new Date(time);
System.out.println(futureDate);
&/code&&/pre&&/div&&h4&date arithmetic using calendar objects:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&Calendar today = Calendar.getInstance();
today.add(Calendar.DATE,5);
&/code&&/pre&&/div&&h4&difference between two dates:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span& long diff = time1 - time2;
diff = diff/(*24);
&/code&&/pre&&/div&&h4&comparing dates:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&boolean result = date1.equals(date2);
&/code&&/pre&&/div&&h4&getting details from calendar:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&
Calendar cal = Calendar.getInstance();
cal.get(Calendar.MONTH);
cal.get(Calendar.YEAR);
cal.get(Calendar.DAY_OF_YEAR);
cal.get(Calendar.WEEK_OF_YEAR);
cal.get(Calendar.DAY_OF_MONTH);
cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
cal.get(Calendar.DAY_OF_MONTH);
cal.get(Calendar.HOUR_OF_DAY);
&/code&&/pre&&/div&&h4&calculating the elapsed time:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&long startTime = System.currentTimeMillis();
//times flies by..
long finishTime =
System.currentTimeMillis();
long timeElapsed = startTime-finishT
System.out.println(timeElapsed);
&/code&&/pre&&/div&&h2&正则表达式&/h2&&h4&使用 REGEX 寻找匹配字符串:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&String pattern = &[TJ]im&;
Pattern regPat = pile(pattern,Pattern.CASE_INSENSITIVE);
String text = &This is Jim and that's Tim&;
Matcher matcher = regPat.matcher(text);
if (matcher.find()){
String matchedText = matcher.group();
System.out.println(matchedText);
&/code&&/pre&&/div&&h4&替换匹配字符串:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&
String pattern = &[TJ]im&;
Pattern regPat = pile(pattern,Pattern.CASE_INSENSITIVE);
String text = &This is jim and that's Tim&;
Matcher matcher = regPat.matcher(text);
String text2 = matcher.replaceAll(&Tom&);
System.out.println(text2);
&/code&&/pre&&/div&&h4&使用 StringBuffer 替换匹配字符串:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span& Pattern p = pile(&My&);
Matcher m = p.matcher(&My dad and My mom&);
StringBuffer sb = new StringBuffer();
boolean found = m.find();
while(found){
m.appendReplacement(sb,&Our&);
found = m.find();
m.appendTail(sb);
System.out.println(sb);
&/code&&/pre&&/div&&h4&打印所有匹配次数:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&String pattern = &\\sa(\\w)*t(\\w)*&; //contains &at&
Pattern regPat = pile(pattern);
String text = &words something at atte afdgdatdsf hey&;
Matcher matcher = regPat.matcher(text);
while(matcher.find()){
String matched = matcher.group();
System.out.println(matched);
&/code&&/pre&&/div&&h4&打印包含固定模式的行:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span& String pattern = &^a&;
Pattern regPat = pile(pattern);
Matcher matcher = regPat.matcher(&&);
BufferedReader reader = new BufferedReader(new FileReader(&file.txt&));
while ((line = reader.readLine())!= null){
matcher.reset(line);
if (matcher.find()){
System.out.println(line);
&/code&&/pre&&/div&&h4&匹配新行:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&String pattern = &\\d$&; //any single digit
String text = &line one\n line two\n line three\n&;
Pattern regPat = pile(pattern, Pattern.MULTILINE);
Matcher matcher = regPat.matcher(text);
while (matcher.find()){
System.out.println(matcher.group());
&/code&&/pre&&/div&&h4&regex:&/h4&&ul&&li&&p&beginning of a string: ^&/p&&/li&&li&&p&end of a string: $&/p&&/li&&li&&p&0 or 1 times: ?&/p&&/li&&li&&p&0 or more times: (*) //without brackets&/p&&/li&&li&&p&1 or more times: +&/p&&/li&&li&&p&alternative characters: [...]&/p&&/li&&li&&p&alternative patterns: |&/p&&/li&&li&&p&any character: .&/p&&/li&&li&&p&a digit: d&/p&&/li&&li&&p&a non-digit: D&/p&&/li&&li&&p&whitespace: s&/p&&/li&&li&&p&non-whitespace: S&/p&&/li&&li&&p&word character: w&/p&&/li&&li&&p&non word character: W&/p&&/li&&/ul&&h2&数字与数学操作处理&/h2&&h4&内建数据类型:&/h4&&img src=&/v2-b83f3e3dab66c28a5a4f_b.png& data-rawwidth=&541& data-rawheight=&163& class=&origin_image zh-lightbox-thumb& width=&541& data-original=&/v2-b83f3e3dab66c28a5a4f_r.png&&&br&&ul&&li&&p&byte: 8bits, Byte&/p&&/li&&li&&p&short: 16bits, Short&/p&&/li&&li&&p&long: 64bits, Long&/p&&/li&&li&&p&float: 32bits, Float&/p&&/li&&/ul&&h4&判断字符串是否为有效数字:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&
String str = &dsfdfsd54353%%%&;
int result = Integer.parseInt(str);
catch (NumberFormatException e){
System.out.println(&not valid&);
&/code&&/pre&&/div&&h4&比较 Double:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&Double a = 4.5;
Double b= 4.5;
boolean result = a.equals(b);
if (result) System.out.println(&equal&);
&/code&&/pre&&/div&&h4&rounding:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&double doubleVal = 43.;
float floatVal = 2.98f;
long longResult = Math.round(doubleVal);
int intResult = Math.round(floatVal);
System.out.println(longResult + & and & + intResult); // 43 and 3
&/code&&/pre&&/div&&h4&格式化数字:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&double value = ;
NumberFormat numberF
String formattedV
numberFormatter = NumberFormat.getNumberInstance();
formattedValue = numberFormatter.format(value);
System.out.format(&%s%n&,formattedValue); //2.343,88
&/code&&/pre&&/div&&h4&格式化货币:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&double currency = ;
NumberFormat currencyF
String formattedC
currencyFormatter = NumberFormat.getCurrencyInstance();
formattedCurrency = currencyFormatter.format(currency);
System.out.format(&%s%n&,formattedCurrency); // $ 234.546.457,99
&/code&&/pre&&/div&&h4&二进制、八进制、十六进制转换:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&int val = 25;
String binaryStr = Integer.toBinaryString(val);
String octalStr = Integer.toOctalString(val);
String hexStr = Integer.toHexString(val);
&/code&&/pre&&/div&&h4&随机数生成:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&double rn = Math.random();
int rint = (int) (Math.random()*10); // random int between 0-10
System.out.println(rn);
System.out.println(rint);
&/code&&/pre&&/div&&h4&计算三角函数:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&double cos = Math.cos(45);
double sin = Math.sin(45);
double tan = Math.tan(45);
&/code&&/pre&&/div&&h4&计算对数&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&double logVal = Math.log(125.5);
&/code&&/pre&&/div&&h4&Math library:&/h4&&img src=&/v2-6ebf7faafbbb6_b.png& data-rawwidth=&515& data-rawheight=&384& class=&origin_image zh-lightbox-thumb& width=&515& data-original=&/v2-6ebf7faafbbb6_r.png&&&img src=&/v2-1bfd0dad1d7c48_b.png& data-rawwidth=&800& data-rawheight=&324& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/v2-1bfd0dad1d7c48_r.png&&&br&&h2&输入输出操作:&/h2&&h4&从输入流读取:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&//throw IOexception first
BufferedReader inStream = new BufferedReader(new InputStreamReader(System.in));
String inline =&&;
while (!(inline.equalsIgnoreCase(&quit&))){
System.out.println(&prompt& &);
inline=inStream.readLine();
&/code&&/pre&&/div&&h4&格式化输出:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&StringBuffer buffer = new StringBuffer();
Formatter formatter = new Formatter(buffer, Locale.US);
formatter.format(&PI: &+Math.PI);
System.out.println(buffer.toString());
&/code&&/pre&&/div&&h4&formatter format calls:&/h4&&img src=&/v2-b0ddcebd3de_b.png& data-rawwidth=&1221& data-rawheight=&350& class=&origin_image zh-lightbox-thumb& width=&1221& data-original=&/v2-b0ddcebd3de_r.png&&&br&&h4&打开文件:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&BufferedReader br = new BufferedReader(new FileReader(textFile.txt)); //for reading
BufferedWriter bw = new BufferedWriter(new FileWriter(textFile.txt)); //for writing
&/code&&/pre&&/div&&h4&读取二进制数据:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&InputStream is = new FileInputStream(fileName);
&/code&&/pre&&/div&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&
int offset = 0;
int bytesRead = is.read(bytes, ofset, bytes.length-offset);
&/code&&/pre&&/div&&h4&文件随机访问:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span& File file = new File(something.bin);
RandomAccessFile raf = new RandomAccessFile(file,&rw&);
raf.seek(file.length());
&/code&&/pre&&/div&&h4&读取 Jar/zip/rar 文件:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&ZipFile file =new ZipFile(filename);
Enumeration entries = file.entries();
while(entries.hasMoreElements()){
ZipEntry entry = (ZipEntry) entries.nextElement();
if (entry.isDirectory()){
//do something
//do something
file.close();
&/code&&/pre&&/div&&h2&文件与目录&/h2&&h4&创建文件:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&textFile.txt&);
boolean result = f.createNewFile();
&/code&&/pre&&/div&&h4&文件重命名:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&textFile.txt&);
&/code&&/pre&&/div&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File newf = new File(&newTextFile.txt&);
boolean result = f.renameto(newf);
&/code&&/pre&&/div&&h4&删除文件:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&somefile.txt&);
f.delete();
&/code&&/pre&&/div&&h4&改变文件属性:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&somefile.txt&);
f.setReadOnly(); // making the file read only
f.setLastModified(desired time);
&/code&&/pre&&/div&&h4&获取文件大小:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&somefile.txt&);
&/code&&/pre&&/div&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&long length = file.length();
&/code&&/pre&&/div&&h4&判断文件是否存在:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&somefile.txt&);
boolean status = f.exists();
&/code&&/pre&&/div&&h4&移动文件:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&somefile.txt&);
File dir = new File(&directoryName&);
boolean success = f.renameTo(new File(dir, file.getName()));
&/code&&/pre&&/div&&h4&获取绝对路径:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&somefile.txt&);
File absPath = f.getAbsoluteFile();
&/code&&/pre&&/div&&h4&判断是文件还是目录:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File f = new File(&somefile.txt&);
boolean isDirectory = f.isDirectory();
System.out.println(isDirectory); //false
&/code&&/pre&&/div&&h4&列举目录下文件:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&File directory = new File(&users/ege&);
String[] result = directory.list();
&/code&&/pre&&/div&&h4&创建目录:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&boolean result = new File(&users/ege&).mkdir();
&/code&&/pre&&/div&&h2&网络客户端&/h2&&h4&服务器连接:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&String serverName = &www.egek.us&;
Socket socket = new Socket(serverName, 80);
System.out.println(socket);
&/code&&/pre&&/div&&h4&网络异常处理:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&try {
Socket sock = new Socket(server_name, tcp_port);
System.out.println(&Connected to & + server_name);
sock.close(
} catch (UnknownHostException e) {
System.err.println(server_name + & Unknown host&);
} catch (NoRouteToHostException e) {
System.err.println(server_name + & Unreachable& );
} catch (ConnectException e) {
System.err.println(server_name + & connect refused&);
} catch (java.io.IOException e) {
System.err.println(server_name + ' ' + e.getMessage(
&/code&&/pre&&/div&&h2&包与文档&/h2&&h4&创建包:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&package com.ege.
&/code&&/pre&&/div&&h4&使用 JavaDoc 注释某个类:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&javadoc -d \home\html
-sourcepath \home\src
-subpackages java.net
&/code&&/pre&&/div&&h4&Jar 打包:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&jar cf project.jar *.class
&/code&&/pre&&/div&&h4&运行 Jar:&/h4&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&java -jar something.jar
&/code&&/pre&&/div&&h2&排序算法&/h2&&ul&&li&&p&Bubble Sort&/p&&/li&&li&&p&Linear Search&/p&&/li&&li&&p&Binary Search&/p&&/li&&li&&p&Selection Sort&/p&&/li&&li&&p&Insertion Sort&/p&&/li&&/ul&&p&&a href=&/?target=https%3A///egek92/SortAlgorithms& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Over here&i class=&icon-external&&&/i&&/a&&/p&
的 ,从属于笔者的 系列。时间仓促,笔者只是简单翻译了些标题与内容整理,支持原作者请前往原文点赞。需要注意的是,此文在 Reddit 上也引起了广泛的讨论,此文讲解的语法要点还是以 Java 7 为主…
我谈谈自己的个人见解,不对的地方,诸位拍砖补充。&br&&br&&ul&&li&IDE选择:&br&&/li&&/ul&idea,eclipse,sts三选一,让我选,我选idea,sts我没用过,不好评述,&br&eclipse需要自己弄插件,以前配置时候,很繁琐,有些组建下载一半就挂掉。&br&&br&&ul&&li&框架选择:&br&&/li&&/ul&spring web mvc+jpa后者spring web mvc+myibatis,最早之前项目web端用struts1.2&br&或者struts2,现在基本都切换到spring web mvc,推荐spring web mvc&br&&br&&ul&&li&版本选择:&br&&/li&&/ul&提议下最新版:spring boot,省去了很多配置上的事,比较好用,可惜国内资料很少,建议可以尝试切换到spring boot这个版本上来。&br&&br&&ul&&li&构建工具:&br&&/li&&/ul&maven或者gradle,建议gradle,看看github上的java代码,很多都迁移到gradle了,理由自不必说。&br&&ul&&li&例子选择:&br&&/li&&/ul&初入门的没必要上来自己整合这三个框架,&br&毕竟还是有一定难度的,建议去github上找些简单的事例代码,先自己部署好了,&br&找找感觉,熟悉web层,ap层,db层之间的调用关系,自己在sample基础上改改,就是找感觉。&br&&br&&ul&&li&继续深入:&br&&/li&&/ul&感觉找到了,自然是继续深入了,咋深入呢,不断完善你的例子,把它当个项目来做,不断添加功能,比如下载文件,安全认证,日志处理等等&br&&br&&ul&&li&框架学习&/li&&/ul&有时间学习框架的,把设计模式要很好的框架底层源代码结合来学习,自己以前遇到很多,都是讲设计模式说的头头是道,可以问具体业务场景,就哑巴了,还是不够落地,学以致用,要落地的。&br&&br&&ul&&li&最后总结陈词:&br&&/li&&/ul&自我推荐&a href=&///?target=http%3A///learnIndex/nav/4& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&牧虎网 - 一站式IT技术高价值资源分享平台&i class=&icon-external&&&/i&&/a& 收录了很多关于spring的精化文章,会对大家有所帮助的
我谈谈自己的个人见解,不对的地方,诸位拍砖补充。 IDE选择: idea,eclipse,sts三选一,让我选,我选idea,sts我没用过,不好评述, eclipse需要自己弄插件,以前配置时候,很繁琐,有些组建下载一半就挂掉。 框架选择: spring web mvc+jpa后者spring w…
一、基础篇1.1 JVM1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收&blockquote&&p&&a href=&///?target=http%3A//www.jcp.org/en/jsr/detail%3Fid%3D133& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&jcp.org/en/jsr/detail?&/span&&span class=&invisible&&id=133&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///jmm-faq/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java内存模型&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&1.1.2. 了解JVM各种参数及调优1.1.3. 学习使用Java工具&blockquote&&p&&a href=&///?target=http%3A///archives/105& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&jps&i class=&icon-external&&&/i&&/a&, &a href=&///?target=http%3A///archives/110& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&jstack&i class=&icon-external&&&/i&&/a&, &a href=&///?target=http%3A///archives/303& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&jmap&i class=&icon-external&&&/i&&/a&, jconsole, jinfo, jhat, javap, …&/p&&p&&a href=&///?target=http%3A///projects/btrace& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&BTrace — Project Kenai&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//www.crashub.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CRaSH the shell for the Java Platform&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=https%3A///taobao/TProfiler& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&taobao/TProfiler · GitHub&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=https%3A///CSUG/HouseMD& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CSUG/HouseMD · GitHub&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=https%3A///CSUG/HouseMD& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://wiki.cyclopsgroup.org/jmxterm&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=https%3A///jlusdy/TBJMap& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&jlusdy/TBJMap · GitHub&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&1.1.4. 学习Java诊断工具&blockquote&&p&&a href=&///?target=http%3A//www.eclipse.org/mat/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Eclipse Memory Analyzer Open Source Project&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//visualvm.java.net/oqlhelp.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Analyzing a Heap Dump Using Object Query Language (OQL)&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&1.1.5. 自己编写各种outofmemory,stackoverflow程序&blockquote&&p&HeapOutOfMemory&/p&&p&Young OutOfMemory&/p&&p&MethodArea OutOfMemory&/p&&p&ConstantPool OutOfMemory&/p&&p&DirectMemory OutOfMemory&/p&&p&Stack OutOfMemory Stack OverFlow&/p&&/blockquote&1.1.6. 使用工具尝试解决以下问题,并写下总结&blockquote&&p&当一个Java程序响应很慢时如何查找问题 当一个Java程序频繁FullGC时如何解决问题,如何查看垃圾回收日志 当一个Java应用发生OutOfMemory时该如何解决,年轻代、年老代、永久代解决办法不同,导致原因也不同&/p&&/blockquote&1.1.7. 参考资料&blockquote&&p&&a href=&///?target=http%3A///javase/specs/jvms/se7/html/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Java(R) Virtual Machine Specification&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//www.cs.umd.edu/%7Epugh/java/memoryModel/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cs.umd.edu/~pugh/java/m&/span&&span class=&invisible&&emoryModel/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//gee.cs.oswego.edu/dl/jmm/cookbook.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&gee.cs.oswego.edu/dl/jm&/span&&span class=&invisible&&m/cookbook.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&1.2. Java基础知识1.2.1. 阅读源代码&blockquote&&p&java.lang.String java.lang.Integer`` java.lang.Long java.lang.Enumjava.math.BigDecimaljava.lang.ThreadLocal java.lang.ClassLoader & java.net.URLClassLoader java.util.ArrayList & java.util.LinkedList`` java.util.HashMap & java.util.LinkedHashMap & java.util.TreeMapjava.util.HashSet & java.util.LinkedHashSet & java.util.TreeSet&/p&&/blockquote&1.2.2. 熟悉Java中各种变量类型1.2.3. 熟悉Java String的使用,熟悉String的各种函数1.2.4. 熟悉Java中各种关键字1.2.5. 学会使用List,Map,Stack,Queue,Set&blockquote&&p&上述数据结构的遍历 上述数据结构的使用场景 Java实现对Array/List排序java.uti.Arrays.sort()java.util.Collections.sort() Java实现对List去重 Java实现对List去重,并且需要保留数据原始的出现顺序 Java实现最近最少使用cache,用LinkedHashMap&/p&&/blockquote&1.2.6. Java IO&Java NIO,并学会使用&blockquote&&p&java.io.* java.nio.* nio和reactor设计模式 文件编码,字符集&/p&&/blockquote&1.2.7. Java反射与javassist&blockquote&&p&反射与工厂模式 java.lang.reflect.*&/p&&/blockquote&1.2.8. Java序列化&blockquote&&p&java.io. Serializable 什么是序列化,为什么序列化 序列化与单例模式 google序列化protobuf&/p&&/blockquote&1.2.9. 虚引用,弱引用,软引用&blockquote&&p&java.lang.ref.* 实验这些引用的回收&/p&&/blockquote&1.2.10. 熟悉Java系统属性&blockquote&&p&java.util.Properties&/p&&/blockquote&1.2.11. 熟悉Annotation用法&blockquote&&p&java.lang.annotation.*&/p&&/blockquote&1.2.12. JMS&blockquote&&p&javax.jms.*&/p&&/blockquote&1.2.13. JMX&blockquote&&p&java.lang.management.* javax.management.*&/p&&/blockquote&1.2.14. 泛型和继承,泛型和擦除1.2.15. 自动拆箱装箱与字节码1.2.16. 实现Callback1.2.17. java.lang.Void类使用1.2.18. Java Agent,premain函数&blockquote&&p&java.lang.instrument&/p&&/blockquote&1.2.19. 单元测试&blockquote&&p&Junit,&a href=&///?target=http%3A//junit.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JUnit -
About&i class=&icon-external&&&/i&&/a&&/p&&p&Jmockit,&a href=&///?target=https%3A///p/jmockit/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/p/jmock&/span&&span class=&invisible&&it/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&djUnit,&a href=&///?target=http%3A//works.dgic.co.jp/djunit/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&works.dgic.co.jp/djunit&/span&&span class=&invisible&&/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&1.2.20. Java实现通过正则表达式提取一段文本中的电子邮件,并将@替换为#输出&blockquote&&p&java.lang.util.regex.*&/p&&/blockquote&1.2.21. 学习使用常用的Java工具库&blockquote&&p&commons.lang, commons.*... guava-libraries netty&/p&&/blockquote&1.2.22. 什么是API&SPI&blockquote&&p&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Application_programming_interface& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/A&/span&&span class=&invisible&&pplication_programming_interface&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Application_programming_interface& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://en.wikipedia.org/wiki/Service_provider_interface&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&1.2.23. 参考资料&blockquote&&p&JDK src.zip 源代码&/p&&p&&a href=&///?target=http%3A//openjdk.java.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&OpenJDK&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//commons.apache.org/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&commons.apache.org/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=https%3A///p/guava-libraries/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/p/guava&/span&&span class=&invisible&&-libraries/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//netty.io/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&netty.io/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///questions/2954372/difference-between-spi-and-api& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/quest&/span&&span class=&invisible&&ions/2954372/difference-between-spi-and-api&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///questions//how-to-implement-the-api-spi-pattern-in-java& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/quest&/span&&span class=&invisible&&ions//how-to-implement-the-api-spi-pattern-in-java&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&1.3. Java并发编程1.3.1. 阅读源代码,并学会使用&blockquote&&p&java.lang.Thread&br&java.lang.Runnable&br&java.util.concurrent.Callablejava.util.concurrent.locks.ReentrantLockjava.util.concurrent.locks.ReentrantReadWriteLockjava.util.concurrent.atomic.Atomic*java.util.concurrent.Semaphorejava.util.concurrent.CountDownLatchjava.util.concurrent.CyclicBarrierjava.util.concurrent.ConcurrentHashMapjava.util.concurrent.Executors&/p&&/blockquote&1.3.2. 学习使用线程池,自己设计线程池需要注意什么1.3.3. 锁&blockquote&&p&什么是锁,锁的种类有哪些,每种锁有什么特点,适用场景是什么 在并发编程中锁的意义是什么&/p&&/blockquote&1.3.4. synchronized的作用是什么,synchronized和lock1.3.5. sleep和wait1.3.6. wait和notify1.3.7. 写一个死锁的程序1.3.8. 什么是守护线程,守护线程和非守护线程的区别以及用法1.3.9. volatile关键字的理解&blockquote&&p&C++ volatile关键字和Java volatile关键字 happens-before语义 编译器指令重排和CPU指令重排&/p&&p&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Memory_ordering& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/M&/span&&span class=&invisible&&emory_ordering&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Volatile_variable& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/V&/span&&span class=&invisible&&olatile_variable&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A////the-happens-before-relation/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&//t&/span&&span class=&invisible&&he-happens-before-relation/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&1.3.10. 以下代码是不是线程安全?为什么?如果为count加上volatile修饰是否能够做到线程安全?你觉得该怎么做是线程安全的?&div class=&highlight&&&pre&&code class=&language-text&&public class Sample {
private static int count = 0;
public static void increment() {
&/code&&/pre&&/div&1.3.11. 解释一下下面两段代码的差别&div class=&highlight&&&pre&&code class=&language-text&&// 代码1
public class Sample {
private static int count = 0;
synchronized public static void increment() {
public class Sample {
private static AtomicInteger count = new AtomicInteger(0);
public static void increment() {
count.getAndIncrement();
&/code&&/pre&&/div&1.3.12. 参考资料&blockquote&&p&&a href=&///?target=http%3A///subject//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/subject&/span&&span class=&invisible&&//&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///content/www/us/en/processors/architectures-software-developer-manuals.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/content/www/u&/span&&span class=&invisible&&s/en/processors/architectures-software-developer-manuals.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&二、 进阶篇2.1. Java底层知识2.1.1. 学习了解字节码、class文件格式&blockquote&&p&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Java_class_file& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/J&/span&&span class=&invisible&&ava_class_file&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Java_bytecode& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/J&/span&&span class=&invisible&&ava_bytecode&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Java_bytecode_instruction_listings& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/J&/span&&span class=&invisible&&ava_bytecode_instruction_listings&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&csg.ci.i.u-tokyo.ac.jp/&/span&&span class=&invisible&&~chiba/javassist/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//asm.ow2.org/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&asm.ow2.org/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&2.1.2. 写一个程序要求实现javap的功能(手工完成,不借助ASM等工具)&p&如Java源代码:&/p&&div class=&highlight&&&pre&&code class=&language-text&&
public static void main(String[] args) {
int i = 0;
System.out.println(i);
&/code&&/pre&&/div&&p&编译后读取class文件输出以下代码:&/p&&div class=&highlight&&&pre&&code class=&language-text&&public static void main(java.lang.String[]);
Stack=2, Locals=2, Args_size=1
#2; //Field java/lang/System.out:Ljava/io/PrintS
invokevirtual
#3; //Method java/io/PrintStream.println:(I)V
LineNumberTable:
line 8: 16
&/code&&/pre&&/div&2.1.3. CPU缓存,L1,L2,L3和伪共享&blockquote&&p&&a href=&///?target=http%3A//duartes.org/gustavo/blog/post/intel-cpu-caches/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&duartes.org/gustavo/blo&/span&&span class=&invisible&&g/post/intel-cpu-caches/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//mechanical-/2011/07/false-sharing.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mechanical-&/span&&span class=&invisible&&/2011/07/false-sharing.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&/blockquote&2.1.4. 什么是尾递归2.1.5. 熟悉位运算&blockquote&&p&用位运算实现加、减、乘、除、取余&/p&&/blockquote&2.1.6. 参考资料&blockquote&&p&&a href=&///?target=http%3A///subject/1138768/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/subject&/span&&span class=&invisible&&/1138768/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A///subject/6522893/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/subject&/span&&span class=&invisible&&/6522893/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Java_class_file& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/J&/span&&span class=&invisible&&ava_class_file&/span&&span class=&ellipsis}

我要回帖

更多关于 编写程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信