郑州优化网站关键词,wordpress输入html代码,杭州认证网站建设,木马工业设计公司本文是我大学两年知识的总结。涵盖数据结构、算法、语言基础、操作系统、关系数据库、NOSQL、网络/前端/项目基础知识、安全和测试、框架的学习、中间件和工具、设计模式和框架原理、我推荐的资料、我的建议 本篇文章应该算是Java后端开发技术栈的#xff0c;但是大部分是基础… 本文是我大学两年知识的总结。涵盖数据结构、算法、语言基础、操作系统、关系数据库、NOSQL、网络/前端/项目基础知识、安全和测试、框架的学习、中间件和工具、设计模式和框架原理、我推荐的资料、我的建议 本篇文章应该算是Java后端开发技术栈的但是大部分是基础知识所以我觉得对任何方向都是有用的。 1、数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下精心选择的数据结构可以带来更高的运行或者存储效率。 ---摘自百度百科 为什么把数据结构放在第一位呢因为我认为这是一切的基础。
比如
学了时间复杂度空间复杂度你就能写出更好的程序解决更多的性能问题。
学了顺序表和链表你就知道在查询操作更多时应该使用顺序表而在修改操作更多时应该使用链表
学了栈之后你可能才能理解并写出递归学了队列会对消息队列有一个认识之后用轮子比如kafka才更得心应手。
学了串你才知道String到底怎么实现的你才知道了字符串如何匹配KMP搜索引擎ES是如何做出来。
学了排序你才知道各种排序优缺点知道各种语言的sort是如何实现的别给我说就是快排用到实际项目中。
学了哈希你才可能读懂HashMap是怎么玩的。
这是我做的一些总结旧版总结
我进行了删减新写的东西懒得加了。
涉及语言
py3注重算法本身的知识
c/c实现基础数据结构和算法
java实现较复杂数据结构 1.1、概述 算法体系参考 课上笔记1复习c、课程概述 课上笔记2基本概念、时空复杂度 时空复杂度 浅析P/NP/NPC 引入算法优化
1.2、线性表 笔记 课上笔记3线性表及顺序表示 课上笔记5链表概述 课上笔记6链表选讲、静态链表 作业1讲解最大子数组二维多维 基础代码实现 顺序存储实现静/动 单链表不带头标准实现 单链表不带头压缩代码 双链表带头 应用 约瑟夫环顺序、链式、数学 线性表表示集合 线性表表示一元多项式 链表环相关问题 链表coding能力练习归并排序 LRU介绍和实现 链表coding能力练习相交问题
1.3、栈和队列 笔记 课上笔记7栈、队列基础 基础代码实现 数组实现栈 链表实现栈 数组实现队列易懂实现循环 链表实现队列 双栈 栈和队列的互相模拟 应用 栈排序 括号匹配 表达式求值 简单迷宫问题 借汉诺塔理解栈与递归 手动维护栈实现二叉树三种遍历 深搜、广搜与栈、队列 相关算法 单调栈 单调双端队列 双端队列优化的背包问题
1.4、串 笔记 课上笔记8串基础 基础代码实现 串的定长表示 串的堆分配 为何py整数不会溢出 c语言文件操作 相关算法 一文读懂KMP 一文读懂Manacher KMP题集1 KMP题集2 KMPDP入门 字符串上的动态规划 前缀树 后缀树/后缀数组概述 AC自动机
1.5、数组和广义表
注题目慢慢添加 笔记 课上笔记9数组、广义表 部分题目实现 二维数组基操四连 数组基本操作三连1 数组基本操作三连2 数组基本操作三连3 数组基本操作三连4 数组精选操作5 数组精选操作6 应用 2048小游戏实现 吃豆人 贪吃蛇
1.6、树 笔记 课上笔记10树和二叉树概述 二叉树概述 课上笔记11满二叉树、完全二叉树 课上笔记12二叉树存储与遍历 课上笔记13树的存储 基础代码实现 理解二叉树遍历 二叉树序列化/反序列化 先序中序后序两两结合重建二叉树 先序中序数组推后序数组 直观打印二叉树 根据数组建立平衡二叉搜索树 平衡二叉树的判断 完全二叉树的判断 搜索二叉树的判断 二叉树最长路径 时间低于O(N)求完全二叉树结点个数 应用 二叉搜索树 堆 堆应用例题三连 并查集 并查集入门题集 线段树 树状数组 相关算法 最大搜索子树 morris遍历 空间O(1)
1.7、图 笔记 课上笔记14图基础 课上笔记15存储、遍历 基础 最小生成树 拓扑排序 最短路 相关算法 迷宫 棋盘简单深搜广搜 皇后问题位运算 旅行商问题认识状态压缩
1.9、查找 基础代码实现 二分及拓展 二叉搜索树实现 数组建立二叉搜索树 自平衡二叉搜索树 AVL Tree 相关算法 HashMap记录的动态规划 跳表介绍和实现
1.10、排序 基础代码实现 八种排序 相关算法 快排-荷兰国旗 快排-前m大元素 归并-求逆序数 桶思想-相邻数最大差值 堆 堆应用例题三连 BFPRT
总之不要着急基础打牢。
1.10下面推荐一些学习资源
1、数据结构 严蔚敏吴伟民编著图书
跟着经典走绝对没错这个书写的真的不错里面的伪代码你有能力自己实现一下。
2、大话数据结构
讲的太入门了看一遍对小白很有帮助
3、数据结构精讲与习题详解
另外一本经典书是第一本的延申有能力绝对要多看几遍写的不错。 二、算法 算法Algorithm是指解题方案的准确而完整的描述是一系列解决问题的清晰指令算法代表着用系统的方法描述解决问题的策略机制。也就是说能够对一定规范的输入在有限时间内获得所要求的输出。如果一个算法有缺陷或不适合于某个问题执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。 先不说有没有用事实上工作上连leetcode知识用到的都不多国内大厂面试笔试算法是占很大部分的国外比如北美更是刷leetcode就能进我只是听说的hhh。
2.1ACM
首先关于ACM的建议强校尽可能打一打吧弱校除非很热爱否则不建议。
其中强校指的是能稳定产出区域赛银牌以上的学校。
如果在弱校你可能举步维艰
首先我见过的听说过的一带二的选手最多也就区域银但是消耗了大量学习时间还带了两个水货拿牌子这是很不值的。
其次遇到某些让你很难受的教练可能你打了名额不让你去可能各种打压你等等竞赛环境好的同学可能都想象不到吧
当然环境决定不了一切如果你决定由你创造历史也是可以的请你在大一就判断一下是否算法编程比赛比赛每次都第一并且落下第二两道题以上反正要碾压如果是的话在考虑是否走这条路。我大一就是这样但是其实p都不会。
当然你的学校如果有打ACM的那一群人有一个集训队非常建议加入他们
第一可以锻炼自己。你不知道多少个日日夜夜为了调试一个bug在那里冥思苦想你写的代码加起来可能有几万行500题*30行15000行很正常吧而这几万行代码是你几万行业务代码不能比的。
第二这群人不一定是将来混得最好的人但是一定是中上游的人而让这些人成为你的朋友对你很有帮助。
第三享受快乐你ac的那种快感。
2.2推荐资源
这里我自己写的ACM博客并不多也不全所以给你们点oj和板子合集。
新手推荐匡斌专题刷完保铜冲银绝对没问题kuangbin专题合集
我推荐的也是比较有名的一些oj
国内排名不分先后 浙江大学ZJUhttp://acm.zju.edu.cn/ 北京大学PKUhttp://acm.pku.edu.cn/JudgeOnline/ 同济大学TJUhttp://acm.tongji.edu.cn/ 杭州电子科技大学(HDU)http://acm.hdu.edu.cn/ 吉林大学jluhttp://acm.jlu.edu.cn/ 哈尔滨工程大学hrbeuhttp://acm.hrbeu.edu.cn/ 哈尔滨工业大学HIThttp://acm.hit.edu.cn/ 北京邮电大学Bupt:http://acm.scs.bupt.cn/onlinejudge/ 汕头大学STUhttp://acm.stu.edu.cn/ 福州大学FZUhttp://acm.fzu.edu.cn/ 华中科技大学HUSThttp://acm.hust.edu.cn/JudgeOnline/ 华东师范大学ECNUhttp://acm.cs.ecnu.edu.cn/
国外 俄罗斯乌拉尔大学URALhttp://acm.timus.ru/ 萨拉托夫大学SGUhttp://acm.sgu.ru/ 美国USACO: http://train.usaco.org/usacogate 波兰SPOJhttp://www.spoj.pl/
另外基本各路模板我都有可以找我要哈。
你也可以去洛谷计蒜客等网站刷题这些网站都对新手比较友好是刷题的好去处。 2.3工作面试算法 不是每个人都会打acm所以面向实际性价比很重要这里推荐《剑指offer》和leetcode。
其中《剑指offer》肯定要看完并且理解leetcode据说刷一百多道就能应付一般面试。
我本来想总结十篇精华帖但是说实话leetcode题解绝对够了。
https://leetcode-cn.com/ 建议刷这几个专题性价比高一些哈。
动态规划入门到熟悉看不懂来打我啊推荐
搜索详解 三、语言基础
这不用我说绝对是很重要的一部分语言都学不明白别的更不要想。你可以学习Java、c、c、python、go等语言。
我主要是Java技术栈的但是总结的基础知识有一些不方便放出来是我的私密文章我只把一些公开的放出来。
3.1Java
1、一个.java源文件中是否可以包括多个类不是内部类有什么限制
2、short s1 1; s1 s11; 有没有错3、short s1 1; s1 1;有没有错
4、使用final关键字修饰一个变量时引用的内容一定不能变
5、是否可以从static方法内对非static方法调用为什么
6、Overload和Override的区别7、Overloaded的方法是否可以改变返回值的类型?
8、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main方法
9、Java中实现多态的机制是什么10、abstractclass和interface有什么区别?
11、String s Hello;s s world!;执行后原始的String对象中的内容变了没有
12、下面这条语句一共创建了多少个对象String sabcd;
13、final, finally, finalize的区别。14、error和exception有什么区别?15、Java 中堆和栈区别
16、能将 int 强制转换为 byte 类型的变量吗引申到所有大类型转小类型
17、hashCode有什么用与 a.equals(b) 有什么关系19java中会存在内存泄漏吗
这些问题以及更多问题都是我总结的比较好的问题要答案去评论我发。
想获取更多笔记的。。。。。我不会给你们的hhhhh。
3.2Java一些总结
只有这些公开的了。
java 面向对象必懂概述
Arrays工具类常见方法
Collections 工具类常见方法
Java的IO总结
终于我读懂了所有Java集合——List篇
终于我读懂了所有Java集合——queue篇
终于我读懂了所有Java集合——sort
终于我读懂了所有Java集合——map篇
终于我读懂了所有Java集合——map篇(多线程)
终于我读懂了所有Java集合——set篇
反射全解
关于Java中String的问题
3.3python python学习实例1
python学习实例2
python学习实例3
python学习实例4
python学习实例5
python学习实例6
python学习实例7
基础技巧总结一
基础技巧总结二
基础技巧总结三
基础技巧总结四
基础技巧总结五
为什么Python整型不溢出
另外如果是零基础py我推荐廖雪峰的教程百度搜即可。 3.4其它语言
哪种语言需要小白教程评论我给你想想有哪些好东西。 另外py爬虫建议学习一下。
四、操作系统
如果你时间紧可以跳过。 操作系统是管理计算机硬件与软件资源的计算机程序同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。 4.1基础知识
放下我的操作系统基础知识总结
进程基础
经典的进程同步问题
处理机调度 、虚拟存储器
存储器
输入输出系统
文件管理
4.2具体实现
我认为学了最好可以把经典的算法都实现一下。
我模拟了一些。
模拟进程调度
模拟银行家算法
模拟固定分区分配
模拟基本分页存储
模拟动态分区分配
4.3jvm
如果你是Java技术栈jvm是肯定要接触的这部分我也是小白暂时没怎么弄过jvm调优但是知识一定要准备好毕竟你学红黑树的时候也不知道将来写TreeMap的时候有用呢
Java内存模型常见问题
Java内存区域
如何判断对象已经死亡
Hotspot虚拟机的对象
垃圾回收、垃圾收集器
空间分配
类加载过程、类加载器
堆和栈的精华大总结
4.4Linux
linux是人人都要会的。
我这部分其实很菜基本上啥都不会但是真的很重要。。。
我懒得找我总结的东西了其实大部分就是一些命令的使用。
Linux概述
linux-在cenos上安装大全(nginx/JRE/maven/Tomcat/MYSQL/redis/kafka/es...)
shell一文入门通
对于原理我读过一本书的小部分后来因为各种原因没有继续读下去但是推荐给你们。
《linux内核设计与实现第三版》 拉夫机械工业出版社的那本。
4.5多线程
比如Java多线程这其实也是属于操作系统只是的一部分所以我放到了这里。
我这部分暂时没有总结完。
总结了线程安全性的二十四个精华问题
volatile
synchronized使用和原理全解推荐 4.6推荐资源
基础知识
推荐王道考研的视频真的很赞b站就可以搜得到。
优点声音好听有磁性、学长总结学生更容易听懂、不讲废话节省时间、讲的通俗易懂反正我一遍就懂
我对比了不下五种视频这是最好的。
有的人可能会问我又不考研那你不能看一遍这么好的视频不看多浪费啊
多线程
Java多线程编程核心技术第2版 作者高洪岩
这本书我犹豫了很久到底要不要推荐呢因为我看完了其实感觉一般有些例子过于啰嗦而且没有底层原理的讲解。但是用来入门的话如果你是一个细心且耐得住性子的人这本书还算不错。
深入浅出Java多线程
这本书个人感觉比上一本好。但是还是看个人感觉吧需要手把手教的那种还是第一本好。 五、关系数据库
开发离不开数据库我把数据库的知识分为以下几个阶段
5.1关系数据库基本知识和任意一个语言实战MYSQL
请注意这是两个事前者我推荐数据库系统概论相信大部分学校的教材都是这本里面的理论很重要是基础。
后者我推荐MySQL必知必会这本书绝对是入门sql语言的最佳选择。
这两本书我不接受任何反驳是相关方面国内最好的。
再推荐一个视频b站上面的东南大学徐立臻教授数据库原理真的讲的很好我看了不止一遍。
下面放下我的总结
关系数据库——基础
关系数据库——关系数据语言
关系数据库——mysql数据类型大总结
关系数据库——sql基础1定义
关系数据库——sql查询
关系数据库——sql增删改
关系数据库——mysql常用函数总结
关系数据库——视图/存储过程/触发器
关系数据库——数据库恢复
关系数据库——并发控制
5.2有基本的优化能力复杂的sql编写能力
这部分我认为非常重要实际工作中都是很复杂的sql并且涉及到优化。
我推荐高性能MySQL第二版这本书说实话我读不完甚至只读了十分之一惭愧惭愧但是还是让我受益良多。
还有推荐leetcode数据库专题真的也让我受益良多你们可能只知道leetcode算法吧hhhh
5.3了解数据库基本的实现原理
这里我推荐《MySQL技术内幕:InnoDB存储引擎(第2版)》
5.4自己写数据库
我当然是没达到的但是我看到了很多大佬都在做这方面内容包括本校的几届毕业薪资最高的学长、包括同级的外校大神强行让我做但是我不会啊。。。哭了
但是我想当推荐一下资源我虽然没实现但是看了有很多收获如果你按着做出来了完全可以当作一个不错的项目。
推荐两门网课mit6.830 和 cmu15445(建议做前者的实验(相对完整)看后者的课程)。 学完两门网课之后对数据库系统已经有了大致的了解。 接下来可以看数据库系统概念(但是这本书写的有点繁琐)推荐看pingcap的tidb源码阅读二十四篇(https://pingcap.com/blog-cn/)看文章的时候可以看一下源码(需要学一下go)。 另外一个好的学习资源是talent plan作业质量挺高的。 (https://university.pingcap.com/) 如果你对pingcap的tidb很感兴趣想继续深入学习可以再了解一下分布式推荐mit 6.824接下来就是看论文写lab的快乐时光接着你可能想看看tikv那么可以学一下rust啦。 六、NOSQL 内存越来越快、越来越便宜的今天你要是不会一个nosql那可以不用干活了吧
但是简单地用当然不够你会用map就会用nosql你最好知道一下复杂的操作和nosql的原理。
我这里研究的是redis
6.1入门
Redis是一款基于键值对的NoSQL数据库它的值支持多种数据结构 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。 • Redis将所有的数据都存放在内存中所以它的读写性能十分惊人用作数据库缓存和消息代理。
Redis具有内置的复制Lua脚本LRU逐出事务和不同级别的磁盘持久性并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。 • Redis典型的应用场景包括缓存、排行榜、计数器、社交网络、消息队列等
NOSQL及redis概述
但是我们实战之前还是要了解基本使用
数据结构和对象的使用介绍
Java整合
6.2原理总结
这部分在我看来是最有意思的我们有必要了解底层数据结构的实现这也是我最感兴趣的。
比如你知道redis中的字符串怎么实现的吗为什么这么实现
你知道redis压缩列表是什么算法吗
你知道redis为什么抛弃了红黑树反而采用了跳表这种新的数据结构吗
你知道hyperloglog为什么用如此小的空间就可以有这么好的统计性能和准确性吗
你知道布隆过滤器为什么这么有效吗有没有数学证明过
你是否还能很快写出来快排或者不断优化性能的排序是不是只会调库了甚至库函数怎么实现的都不知道真的就是快排
包括数据库持久化处理事件、客户端服务端、事务的实现、发布和订阅等功能的实现也需要了解。
另外
数据结构字典、链表、字符串
数据结构整数集合压缩列表
数据结构跳表介绍和手撕
为什么选择了跳表而不是红黑树
HyperLogLog
LRU介绍和实现
Redis中的LRU算法改进
布隆过滤器
qsort源码
对象字符串对象、列表对象、哈希对象、集合对象、有序集合总结
内存管理
数据库简介、数据持久化
事件
客户端、命令的执行过程
事务
发布和订阅
6.3多机
旧版复制
新版复制
哨兵机制
6.4实战
进一步的了解了redis的使用和原理我们来写一些简单的实战代码
实战点赞
实战关注
缓存击穿/穿透/雪崩
对项目的一些优化方案
RedLock
6.5更多的细节问题
相关问题汇总 七、网络/前端/项目基础知识
7.1网络原理
只要是开发肯定离不开网络知识。
HTTP
响应代码全集
网络原理知识点汇总
网络原理知识点总结
但是我不建议你把那本《计算机网络第七版谢希仁著》看完我感觉太过无聊而且底层的那几层我个人感觉是真的用处不大。
推荐书籍《计算机网络自顶向下》、《图解http》
7.2前端基础
除非你可以牛到给老板说“老子就是不会前端专做后端”否则你还是要会一些前端的。
Java开发需要知道的HTML知识
js知识点汇总
jquery选择器
建议上vue\react\node.js这些是我问的前端同学的建议。
如果时间不够上面的知识bootstrap建议看一下因为我就会一点hhhh 7.3项目基础知识
不同于基础语言知识这部分知识可能涉及到网络方面知识学会后你可以具体做一些东西比如Java你就需要学servlet、JDBC等JavaEE技术但是这些技术又不会真的工作用只是基础但是真的很重要建议拿这些知识写一些项目比如学生管理系统。
Java网络编程
AJAX大总结
servlet基础总结
servlet中的数据存储
servlet——三兄弟的另外两个过滤器/监听器
mysql——JDBC
但是我不建议你再学JSP这都9102年了为啥非抱着它不放呢你学leaf不好吗如果说servlet、JDBC是基础我觉得jsp真的没必要他也不是什么所谓的“基础”。 八、安全和测试
这部分我觉得也是很值得学习的反向思维很重要不要以为开发就可以不懂测试不懂安全。
咱们写代码的时候也是边写边侧不是么。
说一下我学这些的理由
压测的话LoadRunner太不方便太过于庞大可能专业测试需要学开发学jmeter就可以啦。
安全方面其实我挺有感触的你们知道为啥要放验证码吗你们知道SpringSecurity是咋实现的吗你们知道xsssql注入文件上传漏洞浏览器安全这些东西怎么攻击怎么防御吗
我们作为开发其实是需要知道的吧。
软件测试基础知识
探索式软件测试
压力测试Jmeter
安全方面知识
常见漏洞 九、框架的学习
Java来说学完了JavaEE肯定要学框架的你总不能拿servlet和jsp、JDBC写项目吧
推荐ssm不要学ssh了都9102年了咱们就不要浪费时间了。
springboot是一定要学的相关的spring生态圈都要学这部分我也刚接触以后要多多学习。
springboot——概述
springboot1——spring相关入门
springboot2——MyBatis入门
springboot-拦截器
springboot——kaptcha
springboot3——Email
Spring Security使用
至于原理抱歉我能力有限目前正在学习中。。。。。。。。。。。。。。。 十、中间件和工具 这一部分我暂时没怎么写总结博客但是我认为都是要会用并且了解原理的。
推荐的链接有几篇是其他人写的因为我也是小白有的方面没什么经验。
10.1消息队列
这是必会内容否则你写的项目可以说没有什么性能可言吧。
首推kafka当然你学别的未尝不可就算拿redis也能写看你自己的需要吧。
建议学习原理我觉得挺重要的。
真的Kafka 入门一篇文章就够了
10.2搜索引擎
这我认为不是必会的但是最好学习一下推荐你可以自己基于字典树做一个小型搜索引擎还可以统计热点词、过滤敏感词等等非常方便。
至于具体的我推荐elasticsearch并且我建议原理一定要了解一下什么倒排索引之类的。
10.3本地缓存
现在光会关系数据库肯定是不行的你要会一种nosql数据库你要做缓存提升性能但是进一步提高性能预防缓存问题比如缓存雪崩你就需要做多重缓存本地缓存是少不了的。我推荐咖啡因。
10.4git
不多解释就是给你提个醒。
教程推荐廖雪峰
git大总结
10.5 maven
这个也是必学内容小白的直观感受就是可以不用到处搜jar包了。还有很多其他强大的功能。 Maven项目对象模型(POM)可以通过一小段描述信息来管理项目的构建报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法许多 Apache Jakarta 项目发文时使用 Maven而且公司项目采用 Maven 的比例在持续增长。 手把手maven的功能/安装/使用/idea集成
10.6nginx
没有商量必须会。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件IMAP/POP3代理服务器在BSD-like 协议下发行。其特点是占有内存少并发能力强事实上nginx的并发能力在同类型的网页服务器中表现较好中国大陆使用nginx网站用户有百度、京东、新浪、网易、腾讯、淘宝等。 nginx学习看这一篇就够了
10.7 zookeeper
必会关键你kafka啥的都得在这上面跑。 ZooKeeper是一个分布式的开放源码的分布式应用程序协调服务是Google的Chubby一个开源的实现是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件提供的功能包括配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集 [1] 提供Java和C的接口。 持续更新的Zookeeper知识总结
10.8 idea
必会
idea常用设置
10.9vim
必会
vim特别好的教程
10.10dubbo
dubbo知识点总结 持续更新
10.11Xmind/ProcessOn
Xmind官网地址 https://www.xmind.cnProcessOn在线作图地址https://www.processon.com我这里列举了两个工具他们两个都可以做概要设计的脑图 10.12Postman
官网地址 https://www.getpostman.com这个是接口调试的神器单测比较繁琐的你可以试试这个嘛不过很多接口还是只能写写单测反正很香。 不过这个名字一看就是男生用的那我们女生用啥呢往下看 10.13Postwoman 官网地址 https://postwoman.io PostMan一听就是男生用的咋妹子们肯定要用最近开源的Postwoman啊它是一款开源的 Postman 替代品
开源没多久优点如下
轻盈可直接在线访问 简约采用简约的 UI 设计精心打造 支持 GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH 方法 支持验证 实时发送请求即可获取响应。
10.14Gradle 官网地址 https://gradle.org Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。
它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置目前也增加了基于Kotlin语言的kotlin-based DSL抛弃了基于XML的各种繁琐配置。
这个跟Maven功能是一样的但是两者语法不一样而且我觉得版本控制的时候没Maven好使有小坑胜在语法简洁。
十一、设计模式和框架原理
当你开发到一定程度学习设计模式肯定是避免不了的
建议阅读经典书籍这是笔记我觉得看笔记也可以。
《Head First设计模式》读书笔记_第一章
《Head First设计模式》第二章笔记 观察者模式
《Head First设计模式》第三章笔记 装饰者模式
《Head First设计模式》第四章笔记 工厂模式
《Head First设计模式》第五章笔记-单件模式
《Head First设计模式》第六章笔记-命令模式
《Head First设计模式》第七章-适配器模式、外观模式
《Head First设计模式》第八章笔记-模板方法模式
《Head First设计模式》第九章1迭代器模式
《Head First设计模式》第九章2组合模式
《Head First 设计模式》第十章-状态模式 状态模式
学了设计模式你才敢去看源码。
至于spring源码我毕竟还年轻写代码太少没勇气去看也没能力去看以后再说吧。 十三、我推荐的资料
文中提到的书和视频我都是看过的不会只听说过就推荐给你那是不负责任。
1、数据结构 严蔚敏吴伟民编著图书
跟着经典走绝对没错这个书写的真的不错里面的伪代码你有能力自己实现一下。
2、大话数据结构
讲的太入门了看一遍对小白很有帮助
3、数据结构精讲与习题详解
另外一本经典书是第一本的延申有能力绝对要多看几遍写的不错。
推荐《剑指offer》和leetcode。
其中《剑指offer》肯定要看完并且理解leetcode据说刷一百多道就能应付一般面试。
我本来想总结十篇精华帖但是说实话leetcode题解绝对够了。
https://leetcode-cn.com/
Java多线程编程核心技术第2版 作者高洪岩
这本书我犹豫了很久到底要不要推荐呢因为我看完了其实感觉一般有些例子过于啰嗦而且没有底层原理的讲解。但是用来入门的话如果你是一个细心且耐得住性子的人这本书还算不错。
深入浅出Java多线程
这本书个人感觉比上一本好。但是还是看个人感觉吧需要手把手教的那种还是第一本好。
《计算机网络自顶向下》、《图解http》
总
Stack Overflowhttps://stackoverflow.com/questions/tagged/java
Stack Overflow 可以说是解决问题的杀手锏
哔哩哔哩
上边的视频都是非常高质量的你可以去搜索看一下。 慕课网
虽然有些视频时付费的但是质量是真的高那些免费的入门足够看了 菜鸟教程
一听名字就知道适合菜鸟的但是基础的知识写的非常详细很清晰易懂非常适合刚开始学习编程的小伙伴。 W3School
刚开始学WEB开发时经常结合w3school学习前端开发时如果遇到记不清的标签就去w3school搜索。 中国大学MOOC
如果你是非科班的想要系统着补某们大学的课程那么中国大学MOOC是个不错的选择这里有各种各样的课程有些老师还是讲的挺好了和大学课程老师的教学差不多。我编译原理就是在这里学到. 第零、最后我的建议
0.1不要飘
永远保持一颗谦虚的心你认为你厉害或者你很努力是因为你的环境不好而已。
在一个中专你会写项目能写增删改查就觉得自己特别努力特别厉害。
在一个三本院校你可能天天按时上课就觉得自己特别努力特别厉害。
在一个一本院校你可能觉得上课好好听讲下课好好写作业就觉得自己特别努力特别厉害。
在一个211你可能没课的时候也去图书馆并且课下时间对老师讲的东西做了一些拓展就觉得自己特别努力特别厉害。
在一个985.。。。。。
还用继续说吗你认为的努力和厉害换个环境毛都算不上。骄傲的人必定失败
0.2不要慌
很多人焦虑找不到好工作我也是。
我见过省会城市一个挺大的当地企业四五十平米的屋子挤着几十个人每个程序员在自己的一平米空间里工作月薪2500.
我见过清华的手写操作系统运行在自己做的cpu上手写数据库oi省一、数双学位、一天速成java写了个app拿了第一GPA大部分4.0。
人和人的差距比人和狗的差距还大。
所以不要慌你再慌也有人不如你你再慌也有人比你厉害。
一步一步走永远不要被别人影响做好自己。
0.3不要犹豫
挺多人还在比那个语言好纠结学哪个语言纠结哪个方向挣钱。
想的多不如去做我相信不管你做什么只要努力一定有收获。
0.4我不建议花时间学的东西
AWT 和 Swing
好像不知道大清朝早已经亡了几百年一样。已经 9102 了谁还会用 AWT 和 Swing 去开发桌面应用呢
Struts
Struts 是早年一个优秀的 MVC 框架单从技术的角度来看还是蛮不错的。但是自从有了 SpringMVC 后Struts 就被拍死在沙滩上了。
Hibernate
Hibernate 太重量级了学习成本太高取而代之的是轻量级的 MyBatis支持定制化 SQL、存储过程以及高级映射。
JSP
等等。。。
当然谁和谁的情况都不一样如果你入职的小公司确实需要还是要学的但是我建议你跑路没意义的