当前位置: 首页 > news >正文

Java学习推荐书目

一、基础类
1、《Thinkinginjava》,入门第一位是建立正确的概念。
2、《CoreJava》,我没系统读过,这本书更贴近实践,更多API的介绍,同样,更新也更频繁。

二、进阶类
1、《EffectiveJava》,在熟悉语法、API之后,你需要知道最佳实践和陷阱,没有比这本更好的。
2、《JavaPuzzlers》,通过谜题介绍一些你可能没有注意到的边角料,作为趣味读物也不错
3、《深入Java虚拟机》,翻译一般,但不可不读,最好结合最新的JVM规范来读。

三、特定领域
1、网络编程:
(1)O’Reilly的《Javanio》,很多人都推荐,我个人觉的一般,基本上只是个API更详细的说明文档,O’reilly的java系列很多都是这样。
(2)我更推荐这本《Fundamentalnetworkinginjava》,由浅入深教你怎么做java网络编程,并且介绍很多背景知识,甚至介绍了各种最佳实践、网络编程模型以及Javasocket在不同平台之间的差异等等。

2、并发编程:
(1)《JavaConcurrencyinPractic》,并发领域必读经典。
(2)《Java并发编程:设计原则与模式》,同样是Douglea的作品。
(3)《javathreads》,入门读物。

3、web编程,这块我许久未接触了,就不推荐了,有兴趣的朋友可以补充下。

四、模式与设计

1、《设计模式》,GOF的经典。
2、《设计模式精解》,应该有最新版,个人认为更适合入门。
3、《Headfirst设计模式》,更轻松的入门读物。
4、《企业应用架构模式》
5、《分析模式——可复用对象模型》
6、《面向模式的软件体系结构》,国内貌似翻译了3卷,绝对经典,可惜翻译较差。
7、《重构——改善既有代码设计》,想写好代码必读。
8、《重构与模式》

五、方法论
1、《敏捷软件开发》
2、《测试驱动开发》,你不一定要TDD,但是你一定要学会做单元测试。
3、《AgileJava》,也可以作为java入门读物。
4、《快速软件开发》
5、《面向对象分析与设计》,OO设计必读。
6、《Unix编程艺术》,打开你的眼界。

六、Java之外

1、《unix网络编程》,学习网络编程必读书。
2、《C++网络编程》上下两卷,介绍ACE的,但是其中对各种模式运用的介绍非常值的一读。
3、《Joel说软件》,编程文化
4、《人月神话》、《人件》
5、《卓有成效的程序员》,给我很大启发的一本书。
6、《程序员修炼之道》
7、《计算机程序的构造与解释》,必读
8、《算法导论》,可以作为参考书
9、《深入理解计算机系统》
10、《编译原理》龙书,最新版用java解释,我没有读完,顺便提下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35198.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

java对象的生命周期是什么

前言 疫情过去,真正的春暖花开又回来了,时不时的可以和朋友约个饭,感慨今年的工作竞争压力很大,工作很不好找。作为一个开发人员,你是否面上了理想的公司,拿到了理想中的薪资? 作为程序员&…...

前端项目中将Token存储在请求头(Authorization)

1.将数据存储在Vuex中管理 export default new Vuex.Store({state: {// 存储tokenAuthorization: localStorage.getItem(Authorization) ? localStorage.getItem(Authorization) : },mutations: {// 修改token,并将token存入localStoragechangeLogin (state, user…...

[论文阅读]《Database Maanagement Systems》-第九章

第九章 TREE-STRUCTURED INDEXING 树结构索引 (P271-301) gracefully 优雅的 适当的 because it adjusts well to changes 因为它能很好地适应变化 page boundaries 页面边界 preferable [[ˈprefrəbl]] 更好的 direct [[dəˈrekt; daɪˈrekt]] 管…...

ET源码学习(十三):CoroutineLock

在第八节消息分发时有下面这个代码 可以看到下面代码中有一个叫做协程锁的组件,并且利用了using包裹起来了,这个就是协程锁。主要用途是确保只有一个协程对对象进行操作。具体可以参考烟雨大佬B站讲解(https://www.bilibili.com/video/BV12J…...

jmeter压测学习5-XPath提取器

前言 有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面。 并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmiddlewaretoken 场景案例 我这里有个d…...

Layui快速入门(2021.06.15)

第一步&#xff1a;下载layui文件 第二步&#xff1a;新建项目&#xff0c;导入下载的文件夹 第三步&#xff1a;参考文档开发 1.layui入门html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>la…...

《 算法图解 》—— 读书笔记(一)

《 算法图解 》—— 读书笔记&#xff08;一&#xff09;1 算法简介2 选择排序这个笔记这么复制粘贴没有什么意义&#xff0c;还是要转化成自己的语言&#xff0c;看着我记过的笔记&#xff0c;一章一章地“复述出来”才有价值&#xff0c;我的输出才重要&#xff0c;无用功一点…...

grafana模板大全

原文&#xff1a;https://www.jianshu.com/p/367d52fe1171 前言&#xff1a; 本篇文章分三部分来介绍常用的grafana模板,数据来源均为prometheus。数据来源为zabbix或其他的请绕行&#xff01; 第一部分 监控容器 推荐ID31468685100008588315 优化315 第二部分 监控物理机…...

1 Linux简介

1 Linux简介 1.1 环境安装与配置 1.1.1 网址访问 https://cloud.tencent.com/act/double11? https&#xff1a;协议。配置sll证书&#xff0c;才有https协议&#xff0c;否则只有http协议。 cloud.tencent.com&#xff1a;80 域名&#xff0c;即IP地…...

系统安全性和保密性设计

一、安全性和保密性设计 计算机及信息技术的应用领域在不断扩展&#xff0c;计算机在政府、企业、民生等各个领域中都得到越来越广泛的应用。与此同时&#xff0c;网络攻击和入侵事件与日俱增&#xff0c;重要机构的信息系统遭黑客袭击的事件时有发生。攻击者可以从容地对那些…...

Linux驱动---IO模型

1、什么是IO 在计算机系统中I/O就是输入和输出的意思&#xff0c;只要具有输入输出类型的交互系统都可以认为是I/O系统 也可以说I/O是整个操作系统数据交换与人机交互的通道 针对不同的操作对象&#xff0c; 可以划分为磁盘I/O模型&#xff0c;网络I/O模型&#xff0c;内存映…...

ssh爆破获取用户密码

通过nmap扫描目标主机发现ssh版本为OpenSSH 5.3&#xff0c;有漏洞 漏洞影响版本&#xff08;OpenSSH < 8.3p1&#xff09; 使用msfconsole 工具 search ssh #查找有关ssh的漏洞 找到并使用漏洞use auxiliary/scanner/ssh/ssh_login show options #查看此漏…...

在java程序中使用protobuf

文章目录简介为什么使用protobuf定义.proto文件编译协议文件详解生成的文件Builders 和 Messages序列化和反序列化协议扩展总结简介 Protocol Buffer是google出品的一种对象序列化的方式&#xff0c;它的体积小传输快&#xff0c;深得大家的喜爱。protobuf是一种平台无关和语言…...

看完99%的人都学会了!java多态简单例子_ser

认识HTTP 什么是超文本什么是传输什么是协议 HTTP相关组件 网络模型OSI 模型浏览器Web服务器CDNWAFWebServiceHTMLWeb页面构成 与 HTTP 有关的协议 TCP/IPDNSURI / URLHTTPS 详解 HTTP 报文 HTTP请求方法HTTP请求URLHTTP版本HTTP 请求响应过程HTTP 请求特征 HTTP 标头 通用…...

前端类库开发最佳实践

Yarn Lerna Rollup 示例项目 Yarn 通过使用 Yarn 的工作区功能&#xff0c;让 Yarn 根据就依赖关系帮助你分析所有子项目的公共依赖&#xff0c;让所有的子项目的公共依赖只会被下载和安装一次。 Lerna 通过 Lerna 可以将一系列相互耦合比较大、又相互独立的库进行管理&…...

shell 的关联数组

shell 的关联数组 引言 shell也有Map的数据结构&#xff0c;哈哈哈&#xff0c;是挺高大上的。万能的shell。。。。 万恶的mac&#xff0c;sed和linux不一样&#xff0c;关联数组和linux也不要一样。要你干啥&#xff01;&#xff01;&#xff01; 一个需求的处理 感谢这个…...

Cookie对象的使用

Cookie对象是做什么的&#xff1f; 在我的理解里&#xff0c;Cookie是客户端用来和客户端保持通讯信息的一个对象。 怎样使用Cookie 使用一个对象&#xff0c;很显然我们要先创建他 Cookie cookie new Cookie(name, value); 然后用res对象将Cookie发送给客户端 res.addCookie…...

jspdf本地运行环境正常,打包后下载的pdf不全

最近开发过程中遇到个问题&#xff0c;用jspdf配合html2canvas把页面元素下载为pdf文件&#xff0c;在本地运行环境好好的&#xff0c;但是打包之后下载的pdf就是不全的&#xff0c;搜了好久也没找出什么对症的解决方案。 现象就是这样&#xff1a; 正常的文件&#xff1a; 有…...

12013.ADC779x采集芯片

文章目录1 AD7997 特征2 管脚描述3 I2C地址确定3 内部寄存器结构3.1 内部结存器结构3.2 配置寄存器3.3 转换结果寄存器3.4 数据寄存器3.5 Hysteresis Register (CH1/CH2/CH3/CH4) 迟滞寄存器3.6 CYCLE TIMER REGISTER 循环计时寄存器3.7 SAMPLE DELAY AND BIT TRIAL DELAY 样本…...

实训项目-白金手册(个人信息管理系统)

实训项目-个人信息管理系统 文章目录实训项目-个人信息管理系统前言一、前期相关准备1、 编译软件安装2、 基本技术掌握2.1、 信息存储2.1.1、 临时存储2.1.2、 长期存储2.2、 查找排序2.3、 线性表操作2.4、 文件操作2.5、 代码书写规范二、需求分析三、难点疑点分析1、实现读…...

2021-08-23 arm开发板上执行程序报错:-sh: ./uart_app: No such file or directory

问题前提描述: 使用的是正点原子 arm alpha 开发板存在这个文件 其他相关问题: 刚出现这个问题时,我在csdn上搜到的其他造成原因: “doc格式(windows系统)、mac(苹果系统)在上传到xshell(unix系统)后, unix系统是不支持doc&#xff08;mac&#xff09;格式的” 如果是这种情况…...

PTA 基础编程题目集 7-2 然后是几点

目录 题目&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 分析&#xff1a; 答案&#xff1a; 题目&#xff1a; 有时候人们用四位数字表示一个时间&#xff0c;比如 1106 表示 11 点零 6 分。现在&#xff0c;你…...

springboot整合阿里云Oss文件服务器实现上传下载

1.登录阿里云官网获取四样东西 阿里云官网&#xff1a;https://oss.console.aliyun.com/ //不明白具体怎么操作的百度endpoint accessKeyId accessKeySecret bucket2.代码实现 2.1 导入依赖 <dependency><groupId>org.springframework.boot</groupId><a…...

Linux 进程和计划任务管理

目录一. 前言二. 进程2.1 什么是进程2.2 程序和进程的关系2.3 进程&#xff0c;线程和协程2.4 进程常用管理命令(1) ps(2) top(3) pgrep(4) pstree(5) prtstat(6) uptime(7) w(8) who(9) jobs(10) fg & bg(11) kill(12) pkill(13) lsof三. 计划任务3.1 一次性计划任务 -- a…...

什么是服务网格(Service Mesh)

本文来说下什么是服务网格 文章目录概述概述...

【力扣1044. 最长重复子串】二分查找+Rabin-Karp 字符串编码、后缀数组(Python3)

题目描述 https://leetcode-cn.com/problems/longest-duplicate-substring/ 思路题解 方法一&#xff1a;二分查找Rabin-Karp 字符串编码 https://leetcode-cn.com/problems/longest-duplicate-substring/solution/zui-chang-zhong-fu-zi-chuan-by-leetcode/ class Solut…...

Nuxt 项目完结总结

1、状态保存&#xff0c;即localstorage。 这里选择了 nuxt-vuex-localstorage&#xff08;^1.3.0&#xff09; 来做store的持久化保存。 modules: [nuxtjs/style-resources,nuxtjs/axios,[nuxt-vuex-localstorage,{localStorage: [localStorage]}] ] 2、登录token保存&…...

Prometheus rate和irate查询实现

rate 该函数用来计算某个指标在最近一个区间时间内的变化率。 比如说&#xff0c;Prometheus每15秒采集一次数据&#xff0c;当某个指标metric1的数据采集如下&#xff1a; timestampvalue15:00:001000015:00:151003015:00:301004515:00:4510090 假设当前时间为15:00:50&…...

第十二周.直播.DGL-KG, LifeSci讲解

文章目录知识图谱背景DGL-KELifeSci双线性系列RESCAL摘要2. Modelling and Notation模型DistMult摘要模型ConvE为什么是2D不是1D卷积模型本文内容整理自深度之眼《GNN核心能力培养计划》公式输入请参考&#xff1a; 在线Latex公式DGL有三个比较知名的开源库&#xff0c;DGL-KG,…...

为什么建立连接是三次握手,而关闭连接却是四次挥手呢?

这是因为服务端在LISTEN状态下&#xff0c;收到建立连接请求的SYN报文后&#xff0c;把ACK和SYN放在一个报文里发送给客户端。 而关闭连接时&#xff0c;当收到对方的FIN报文时&#xff0c;仅仅表示对方不再发送数据了但是还能接收数据&#xff0c;己方是否现在关闭发送数据通…...

java识别验证码_Java使用J4L识别验证码

1、首先要下载j4l的相应文件和jar2、下载完成之后解压&#xff0c;文件目录结构如下3、环境准备下面配置环境变量&#xff0c;如果我们已经提前配置好JDK的环境变量&#xff0c;那么我们可以直接进行如下操作&#xff1a;将解压文件下bits64目录的三个文件 liblept168.dll te…...

Spring注解(简便地使用 Bean )

目录 0. 前置工作 1. 将 Bean 存储到容器 2. 对象注入&#xff08;对象装配&#xff09;【从容器中将对象读取出来】 0. 前置工作 创建Maven项目后&#xff0c;在pom.xml中添加Spring所必须的依赖。 <dependencies><dependency><groupId>org.springframe…...

智工教育:注册计量师一级和二级的科目一样吗?

注册计量师有二级、一级之分&#xff0c;其中二级考试所涉及的科目为《计量法律法规及综合知识》《计量专业实务与案例分析》&#xff0c;必须要在连续2年内考过&#xff0c;否则就要重新报考。 而一级的考试科目&#xff0c;则分别是《计量法律法规及综合知识》、《测量数据处…...

hdoj 2289 Cup

Problem DescriptionThe WHU ACM Team has a big cup, with which every member drinks water. Now, we know the volume of the water in the cup, can you tell us it height? The radius of the cups top and bottom circle is known, the cups height is also known.Input...

World Cup Betting

1011. World Cup Betting (20) With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best players from the best teams doing battles for the World Cup trophy in South Africa. Similarly, football betting...

HDU 2289 Cup

圆台的体积公式&#xff1a; 其中r是上底面半径&#xff0c;R是下底面半径 Problem Description The WHU ACM Team has a big cup, with which every member drinks water. Now, we know the volume of the water in the cup, can you tell us it height? The radius of th…...

World Cup

See the article on my own blog https://dyingdown.github.io/2019/10/20/World-Cup/. Problem Description The 2018 World Cup will be hosted in Russia. 32 national teams will be divided into 8 groups. Each group consists of 4 teams. In group matches, each pa...

Cup

Cup http://acm.hdu.edu.cn/showproblem.php?pid2289 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11638 Accepted Submission(s): 3556 Problem DescriptionThe WHU ACM Team has a big cup, with which e...

java cup_CUP 解析器生成器 JavaCUP

软件介绍JavaCUP 是 Java 语言实现的 CUP 解析器生成器。示例代码&#xff1a;// Simple Example Scanner Class// scanner.javaimport java_cup.runtime.*;import java.io.*;//import sym;public class scanner implements java_cup.runtime.Scanner {/* single lookahead cha…...

java cup_使用JFlex、JavaCUP

给出使用JFlex、JavaCUP来为一个计算器建立分析器的示例的完整代码&#xff0c;使读者能充分领会JavaCUP的使用方法。虽然本文仅仅给出了计算器的代码&#xff0c;但只要你会写你的语言的翻译模式&#xff0c;则只要照抄这个模版&#xff0c;并改改相应动作就可以了。引用到的资…...

java cup_JavaCUP

软件简介JavaCUP 是 Java 语言实现的 CUP 解析器生成器。示例代码&#xff1a;// Simple Example Scanner Class// scanner.javaimport java_cup.runtime.*;import java.io.*;//import sym;public class scanner implements java_cup.runtime.Scanner {/* single lookahead cha…...

产品需求文档如何怎么写?-实例分享

http://www.woshipm.com/pd/787460.html...

需求规格文档范例学习

搜索的几个SRS文档&#xff0c;供学习...

互联网项目开始时需要去谈的产品需求分析:

需求的定义&#xff1a; 1&#xff0c;需求&#xff1a; 需求就是 "要什么" .。需求分析本质上就是问题分析&#xff0c;问题分析的方法论可运用到需求分析。 一般情况下&#xff0c;需求直观表达为谁在什么情况下想干什么。这里就涉及带了"目标用户" &qu…...

市场需求文档MRD书写范例

市场需求文档&#xff0c;&#xff08;英文全称 Market Requirement Document&#xff0c;MRD&#xff09;。该文档是产品项目由“准备”阶段进入到“实施”阶段的第一文档&#xff0c;其作用就是“对规划的某个产品进行市场层面的说明”&#xff0c;这个文档的质量好坏直接影响…...

[附源码]Python计算机毕业设计Django企业售后服务管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…...

计算机文化基础课精品课程资源,计算机文化基础 - 精品课程平台-兰州理工大学.ppt...

计算机文化基础 - 精品课程平台-兰州理工大学.ppt目录 第一章 计算机与信息社会 1.1 计算机的发展 1.1.2 电子计算机的问世 1.1.3 计算机的分代 1.1.4 计算机的分类 1.1.5 未来新型计算机 1.2 信息技术概述1.2.1 信息技术基础知识 1.2.1 信息技术基础知识 1.2.2 现代信息技术的…...

微机-------CPU与外设之间的数据传送方式

目录 一、无条件方式二、查询方式三、中断方式四、DMA方式一、无条件方式 外设要求:简单、数据变化缓慢。 外设被认为始终处于就绪状态。始终准备好数据或者始终准备好接收数据。 IN AL,数据端口 数据端口的地址通过CPU的地址总线送到地址译码器进行译码,同时该指令进行的是…...

科技的产品玩具化,随处可画的3D打印笔,玩转新科技

作为一款很多国外家庭都拥有的3D打印笔&#xff0c;在他们的日常操作当中&#xff0c;除了作画之外&#xff0c;他们还可以把打印笔利用到多极致呢&#xff1f; 眼镜坏了&#xff0c;来画个眼镜框吧。 家里的家用物品破了&#xff0c;不要嘛让它“下岗”。 物品破了的&#xff…...

初学者要如何学习3D游戏建模

目前中国游戏市场建模缺口很大&#xff0c;不论是初级高级建模师基本都是很缺的&#xff0c;毕竟这个行业还在发展中&#xff0c;并且也可以看到是逐渐上升发展。而且未来20年来&#xff0c;我们不用考虑游戏建模产业的市场前景问题&#xff0c;因为它的市场前景非常的好。 3D…...