ProgrammingNotes
  • README
  • accounting会计学
  • Apache
  • ar
  • asciidoc
  • AssemblyLanguage汇编语言
  • authorization授权
    • 1.jwt
    • 2.oauth
  • C语言
    • C++
  • cache
  • Computer计算机相关
    • 1.reinstallSystem重装系统
    • 2.vhd
    • 3.bulidWeb建站
    • 4.computerOrganization计算机原理
  • config配置文件相关
  • ContainerTechnology
    • 1.docker
    • 2.kubernetes
  • cs计算机科学
    • 1.api
      • 1.1.restful
      • 1.2.graphQL
      • 1.3.openAPI
      • 1.4.swagger
    • 10.blockchain区块链
      • 10.1.bitCoin比特币
    • 11.characterEncoding字符编码
    • 12.map
      • 12.1.百度地图
      • 12.2.qgis
      • 12.3.openLayers3
      • 12.4.postGIS
    • 13.ai人工智能
    • 14.machineLearning机器学习
    • 15.ioT物联网
    • 16.microservices微服务
    • 17.serverless无服务架构
    • 2.uml
    • 3.designPattern
    • 33.compilation_tool编译工具
      • 33.1.gradle
      • 33.2.maven
    • 4.devOps
      • 4.1.ci
        • 4.1.1.jenkins
        • 4.1.2.github_actions
        • 4.1.3.team_city
      • 4.2.argoCD
    • 6.dataVisualization数据可视化
    • 7.abandonTechnology可放弃的技术
    • 8.bigData大数据
      • 8.1.streamComputing流计算
      • 8.2.edgeComputing边缘计算
    • 9.deepLearning
  • C#
  • db数据库
    • 1.sql
    • 2.noSQL
      • 2.1.redis
      • 2.2.mongoDB
      • 2.3.hbase
      • 2.4.etcd
    • 3.fileSystem文件系统
      • 3.1.fastDFS
      • 3.2.hdfs
    • 4.postgreSQL
    • 5.sqlserver
    • 6.MySQL
    • 7.oracle
    • 8.oceanBase
    • 9.influxDB
    • DatabaseSecurity数据库安全
    • pl/sql
  • Delphi
  • dorado
  • education
  • english
  • frontEnd前端
    • 1.html
      • 1.1.h5
      • 1.2.webSocket
      • 1.3.html2pdf
    • 10.1.wonder
    • 10.webGL
    • 2.w3C规范
      • 2.1.webAPIs
    • 3.css
    • 4.dom
    • 5.xhtml
    • 6.webAssembly
    • 7.ajax
    • 8.fetch
    • 9.picture
  • git
    • 1.gitbook
    • 2.svn
    • 3.github
    • 4.travis_ci
  • golang
    • go_cloud
    • go_crawler
    • goroutine
    • hydra
  • hardware
  • ios
  • java
    • 1.jvm
    • 2.java高级特性之多线程
    • 3.javafx
    • 4.java网络编程
    • 5.java类加载和反射
    • 6.jms
    • 7.java_cloud
    • 8.jsp
    • 9.spring
  • js
    • 1.npm
    • 13.mockJS
    • 19.bootstrap
    • 2.nodeJS
    • 25.echarts
    • 3.angular
      • 3.1.angularCLI
      • 3.2.angularMaterial
    • 4.react
      • 4.3.reactNative
      • 4.4.next
    • 5.vue
      • 5.1.vue-CLI
      • 5.2.vuex
      • 5.3.axios
      • 5.4.vue-router
      • 5.5.element-ui
      • 5.6.vueCore
      • 5.7.nuxt
    • 6.compilation_tool编译工具
      • 6.1.webpack
      • 6.2.parcel
      • 6.3.grunt
    • 7.lib第三方库
      • 7.1.jQuery
      • 7.2.lodash
    • TypeScript
      • 8.1.tslint
    • Deno
    • JS设计模式
    • ECMAScript
    • JS
    • JS6
    • NativeScript
    • RXJS
    • V8
  • linux
    • 1.vim
    • 2.shell
    • 3.shellScript
    • 4.ubuntu
    • 5.makefile
    • 6.centOS
  • markdown
  • markup_lang
    • JSON
    • YAML
  • math
    • 1.algorithm算法
    • 2.cryptology密码学
    • 3.computerGraphics计算机图形学
    • 4.dataStructure数据结构
  • MC消息通信
    • MQ消息队列
      • 1.kafka
      • 2.rabbitMQ
      • 3.redis
      • 4.activeMQ
      • 5.rocketMQ
      • 6.nats
    • MQTT
      • EMQ
    • RPC
      • gRPC
  • mobile
    • android
      • 1.kotlin
      • 2.weixin
      • 3.miniProgram
    • cordova
    • dart
    • flutter
    • ios
      • xcode
    • ReactNative
  • network网络
    • 2.ss
    • 3.http
    • 4.kcp
    • 5.nmap
    • 5G
    • 6.webCrawler
  • news重要新闻
  • Philosophy哲学
    • AnCoderPrepares程序员的自我修养
    • 软件工程的语录
  • php
  • popularizationOfScience科普
  • protocol
    • 1.rpc
  • python
  • readingNotes读书笔记
    • 1.profession专业笔记
    • 2.sql_Antipatterns
    • 3.unix_Network_Programming
    • 4.the_Docker_Book
  • rust
  • scriptingLanguage
    • 2.lua
    • 3.regularExpression正则表达式
    • 4.julia
    • 5.ruby
  • security安全
  • server服务器相关
    • nginx
    • OpenResty
  • software&tool软件和工具
    • 1.vscode
    • 11.plsqldev
    • 17.androidStudio
    • 3.虚拟机VirtualMachine
    • 4.jetBrains
    • 5.eclipse
    • 7.visualStudio
    • 8.office系列
  • softwaretest软件测试
    • JUnit
  • ssh&ssm
    • 2.hibernate
    • 1.spring
  • unix
    • hackintosh
    • mac
  • vr
  • windows
    • terminal&DOS
    • windows10
    • Wine
  • word一些术语
  • zztemp草稿
    • temp
    • temp4study
    • temp4studyLater以后再学的
Powered by GitBook
On this page
  • 1.profession专业笔记
  • 一 概述
  • 4 文档
  • 三 基础
  • 1 《深入理解java虚拟机:jvm高级特性与最佳实践》
  • 七 未整理

Was this helpful?

  1. readingNotes读书笔记

1.profession专业笔记

PreviousreadingNotes读书笔记Next2.sql_Antipatterns

Last updated 6 years ago

Was this helpful?

1.profession专业笔记

[TOC]

一 概述

4 文档

4.1 待读

  1. 知乎“你会如何重新学习编程?”回答中推荐的书籍

  2. 豆瓣读书回答中推荐的书:

  3. 卡耐基《人性的弱点》

  4. 代码大全第二版

  5. js权威指南(犀牛书)

  6. Unix编程艺术

三 基础

1 《深入理解java虚拟机:jvm高级特性与最佳实践》

  1. 网友说该书有个别瑕疵,可以参考R大对此书的读出笔记,豆瓣可见。(待补充)

  2. sun官方定义的java技术体系包括以下几个组成部分

    2 《java核心技术 卷1 基础知识》

  3. 3 《Thinking In Java(java编程思想)》第四版(豆瓣9.1分)

    3.1 主要笔记

  4. 汽车和轮子的发明都非常重要,但他们最终亦如此而已。真正重要的还是我们与世界的关系,而其中最关键的就是通信。

  5. 贯穿本书,我试图在您的大脑里建立一个模型——或者说一个“知识结构”。这样可加深对语言的理解。若遇到难解之处,应学会把它填入这个模型的对应地方,然后自行演绎出答案。事实上,学习任何语言时,脑海里有一个现成的知识结构往往会起到事半功倍的效果。

  6. 我认为信息的重要程度是存在一个合理的层次的。有些情况是95%的程序员都永远不必了解的。如强行学习,只会干扰他们的正常思维,从而加深语言在他们面前表现出来的难度。以C 语言为例,假如你能记住运算符优先次序表(我从来记不住),那么就可以写出更“聪明”的代码。但再深入想一层,那也会使代码的读者/维护者感到困扰。所以忘了那些次序吧,在拿不准的时候加上括号即可。

  7. Java 配套提供了数量众多的现成类型。对我们来讲,最重要的就是记住能自行创建类型。

    3.4 上溯造型

    把衍生类型当作它的基本类型处理的过程叫作“Upcasting”(上溯造型)

    比如

    void doStuff(Shape s) {
    s.erase();
    // ...
    s.draw();
    }

    当我传进去一个Circle、Triangle或者Line也会正确工作,因为这些都是继承的Shape。这样最直接的好处就是不用为每一个形状单独去写那么多代码,也是java多态的体现。

    3.5 Iterator迭代器

    单选定函数的功能是非常有限的。如果想对集合中的一系列元素进行操纵或比较,而不是仅仅面向一个,这时又该怎么办呢?可以使用Iterator,它属于一种对象,负责选择集合内的元素,并把它们提供给继

    承器的用户。作为一个类,它也提供了一级抽象。利用这一级抽象,可将集合细节与用于访问那个集合的代

    码隔离开。通过继承器的作用,集合被抽象成一个简单的序列。继承器允许我们遍历那个序列,同时毋需关

    心基础结构是什么

    3.6 矢量(Vector)和列表(List)的区别

    它们都属于简单的序列,拥有完全一致的接口和外部行为。但在执行一些特定的任务时,需要的开销

    却是完全不同的。对矢量内的元素进行的随机访问(存取)是一种常时操作;无论我们选择的选择是什么,

    需要的时间量都是相同的。但在一个链接列表中,若想到处移动,并随机挑选一个元素,就需付出“惨重”

    的代价。而且假设某个元素位于列表较远的地方,找到它所需的时间也会长许多。但在另一方面,如果想在

    序列中部插入一个元素,用列表就比用矢量划算得多。

    3.7 单根结构的优点

    java所有对象都继承自Object,这就是单根结构

  8. 极大简化参数的传递

  9. 更方便地实现一个垃圾收集器

    3.8 下溯造型

    存进集合的对象会被自动转为Object,取出来的时候就需要用到下溯造型了

    3.9 handle和handler

    前者在java里经常被翻译为句柄、引用或者指针,后者根据网友的解释可翻译为回调函数

    3.10 native method

    4 《疯狂java讲义 李刚(第三版)》

    主要笔记

  10. 编程的本质,就是对内存中数据的访问和修改。编程的机制就是通过变量。

  11. 无论哪种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构。

  12. 不要把系统搞糊涂了,系统一糊涂就是你错了。

    常量池(constant pool)

    常量池指在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括关于类、方法、接口中的常量,也包括字符串直接量。(我觉得这里的常量池应该指的每个class自带的常量池)

    5 《goinactiongo语言实战》

    6 《The Linux Command Line》

    6.1 主要笔记

  13. 人们说,“图形用户界面让简单的任务更容易完成, 而命令行界面使完成复杂的任务成为可能”,到现在这句话仍然很正确。

    It’s been said that “graphical user interfaces make easy tasks easy, while command line interfaces make difficult tasks possible” and this is still very true today.

  14. 记住在Linux中,没有秘密存在

  15. 作者:“这个操作系统是为喜欢敲键盘的人们服务的。”

  16. 学会所有的特性并不重要,但许多特性非常有帮助。选择自己需要的特性。

    7 JavaScript高级程序设计(第三版)(豆瓣 9.3)

    8 编译原理第2版(Compilers:Principle,Techniques and Tools)

    8.1 主要笔记

  17. 被誉为编译教科书中的“龙书”,具有很高的权威性

    9 JavaScript Dom编程艺术第二版

    主要笔记

  18. 关于本书

    本书适合用来入门js,但是我现在看这个第二版感觉很多地方有些过时或者不严谨.不是很推荐.

  19. 早期的浏览器彼此很少兼容,所以经常需要些很多"浏览器嗅探"代码

    10 《软技能-代码之外的生存指南》

    11 《代码大全2》

七 未整理

https://book.douban.com/review/3030002/#comments
书单 | 一份让一个程序员半年内收获1000+粉丝的书单