转行小白成长路--java基础
每天都会发一篇,一点一滴,记录在这条路上的足迹。立个flag
2019年3月份至今已近一年,对信息技术有个大概的了解,个人认为对于这门技术更应该从最底层的原理入手,了解计算机演化的历史,从计算机语言到汇编语言再到高级语言,应该搞清楚window和linux等系统的原理和思想。眼下没有大把的时间,只能从java入手,自上而下的深入。过年的这段时间发现,计算机技术和自己大学就开始学的机械知识不同,没有完整的知识框架,看的、学的如果不反复用根本记不住,决定采用读书笔记,以xmind脑图的形式,把知识点记录下来,每天更新。
使用了半年的java,对这门语言开始有一点浅显的认知。这半年的工作时间中匆匆读过一遍java编程思想,有些感悟;正巧赶上疫情+离职,趁这段空闲时间整理出笔记,发现这真是一本有意思的书。
- 匆匆感悟:书中似乎只在介绍java都能做什么,怎么做。可是我们关心的重点在如何做到的,期望能从这本书中获取到运行的原理;
- 整理感悟:1.这本书介绍的似乎并不是毫无章法的,从java是什么到它的主要构成条件(封装、继承、多态),再到他们综合起来的进阶用法;2.书中有介绍功能出现的原因(重点),实现的思想(重点)及少量原理。
现在看这是一本不错的好书,前五章整理完成,下面记录下心得:
- 第一章:这是总领全书的思想的概括,也是全书的一个缩略版。从java是什么入手(一门高级抽象语言,最终也是对汇编语言的抽象。通过建立某一类型的对象来解决问题。有五大抽象特征),到对象是什么(与现实问题抽象的一一对应),再到封装思想(权限的边界,不仅是类代码属性的不可见,还有客户端与服务端的权限,以来不同jar包可修改的权限)、继承思想(代码的复用和逻辑及类型的扩展,重点在复用和少量的扩展,接口重点在扩展和少量的复用)和多态思想(为了提高扩展和复用的灵活性,主要用于有上下级关系的类型对象),再到容器的应用(进阶了,往后的复合应用都离不开单根继承,主要用来保存对象和基本数据,原理离不开数据底层数据结构),生命周期(对象的生命周期,与{}有关,用到停止-复制,标记-清扫两种方式结束对象的生命),异常处理(为了快速找到程序出现的问题,离不开自己定义异常提示出现什么错误,它不是面向对象的思想),并发(要理解进程和线程的区别,其实两个名称都是代称,指分配时间和处理器资源,就是名称显得高大上),最后到internet应用(客户端,服务端;主要还是通过TCP协议将数据传输,Socket和nio就像mybitas和JDBC的区别,封装了一个管理器)。
这是一门建立在公认的协议上的技术,只有大家都遵守,才能正常完成信息传输。暂时介绍到这,明天继续。
转行小白成长路--java基础的更多相关文章
- 转行小白成长路-java篇
第五章:初始化与清理 前几章怎么看都没发现有什么逻辑顺序,感觉都是相互独立的,在讲述java语言构成的基本单位和规则.这个先放置一边. java中初始化有两层含义,其一是创建,二是赋值. 其本质也就是 ...
- 《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...
- 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...
- linux小白成长之路10————SpringBoot项目部署进阶
[内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...
- 1、Java小白之路前言
大二一年准备好好学习Java,养成一个良好的习惯写博客,但是由于各种各样的原因,并没有坚持下来.而正好又赶上大三结束,去实习,发现自己的基础还是有些薄弱,所以决定,重新走上这条Java小白之路. 时隔 ...
- 1、JAVA的小白之路
大学的时光过得很快,转眼我已经大二了,在大一时,学习了C\C++,对于语言有一定基础,在未来的道路上,我需要攒足干劲,积累足够的知识和技能,去走上社会. 我的第一任大学班主任告诉我:“作为程序员,你至 ...
- 推荐五个java基础学习网站,小白必备
不知道去哪找java基础资料?推荐几个学习网站,小白必备 Java经过20多年的发展,仍然是世界上最受欢迎的编程语言之一,有无限多种方法使用Java.拥有庞大的客户群.并且java应用范围很广,基本只 ...
- JAVA基础学习之路(一)基本概念及运算符
JAVA基础概念: PATH: path属于操作系统的属性,是系统用来搜寻可执行文件的路径 CALSSPATH: java程序解释类文件时加载文件的路径 注释: 单行注释 // 多行注释 /*... ...
- 小白—职场之Java基础篇
java基础篇 java基础 目录 1.java是一种什么语言,jdk,jre,jvm三者的区别 2.java 1.5之后的三大版本 3.java跨平台及其原理 4.java 语言的特点 5.什么是字 ...
随机推荐
- Oracle查询如何才能行转列?-sunziren
原创文章,转载务必注明出处. 今天工作的时候,碰到一个问题,涉及oracle行转列,用了半小时解决,因此在这里写个博客记录一下解决办法. 原数据库表的数据是: 想要达到的效果是: 经过思考,这是一个o ...
- 应用场景不同,是无代码和低代码的最大区别 ZT
随着媒体对低代码.无代码等先进技术的持续关注,我们发现大多数人都听说过低代码开发和无代码开发这两个概念,但是对两者之间的区别其实并不清楚.事实上,低代码开发和无代码开发之间存在着很多非常显著的差异,如 ...
- LeetCode 面试题22. 链表中倒数第k个节点
题目链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 输入一个链表,输出该链表中倒数第 ...
- LNMP+HTTPS
title: "Lnmp + Https" date: 2019-08-28T16:18:20+08:00 draft: true --- 注:我的linux的ip地址为192.1 ...
- Spring boot2.0学习笔记(一)
学习环境: jdk1.8 (Spring Boot 推荐jdk1.8及以上): java version "1.8.0_241" Maven 3.x (maven 3.2 以上版本 ...
- cf1012B
题意简述: 给定一个 n×m的矩阵,其中 q 个位置已经被填充. 有一条规则,如果 (r1,c1) ,(r1,c2),(r2,c1) 均被填充,则 (r2,c2) 也被填充.任何被其他三个位置生成的位 ...
- gulp常用插件之gulp-eslint使用
更多gulp常用插件使用请访问:gulp常用插件汇总 ** gulp-eslint**这是一个用于识别和报告在ECMAScript/JavaScript代码中找到的模式的Gulp插件.. 更多使用文档 ...
- 【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库千亿级超大表优化实践
01 引言 随着用户的增长.业务的发展,大型企业用户的业务系统的数据量越来越大,超大数据表的性能问题成为阻碍业务功能实现的一大障碍.其中,流水表作为最常见的一类超大表,是企业级用户经常碰到的性能瓶颈. ...
- PyQt5【入门-窗口】
一.窗口 #设置窗口标题 setWindowTitle("标题") #设置窗口坐标和大小 setGeometry(0,0,800,600) """ 项 ...
- 数据库设计工具-powerdesigner
一.PowerDesigner导出SQL,注释为空时以name代替 操作步骤 1. 2. 3.将Value中的内容全部替换为如下 %:COLUMN% [%National%?national ]%DA ...