精华内容
下载资源
问答
  • 拜托,学妹,别再问我怎么自学 Java 了!和盘托出

    万次阅读 多人点赞 2020-10-12 16:47:42
    我想自学 Java,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态当中,并且每天的学习时间至少在 12 个小时以上。 即便是这样,我敢肯定,找到的工作肯定不会太好,勉强能够...

    假如有那么残酷的一天,我不小心喝错了一瓶药,一下子抹掉了我这十多年的编程经验,把我变成了一只小白。我想自学 Java,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态当中,并且每天的学习时间至少在 12 个小时以上。

    即便是这样,我敢肯定,找到的工作肯定不会太好,勉强能够维持生活吧,毕竟是零基础入门啊。

    如果想更进一步,真正成为一名不可或缺的高级 Java 工程师,时间需要更久,两年、三年、五年,直到秃的那天。

    想着想着,我就觉得有必要为那一天做点准备,以备不时之需。

    01、第一个阶段,环境和工具准备

    • 准备一台电脑,要能联网
    • 下载、安装 JDK,配置 Java 开发环境
    • 下载、配置 Maven
    • 下载、安装 IntelliJ IDEA
    • 准备一个 GitHub 仓库(或者码云),管理 Java 源代码

    Java 是一门计算机编程语言,学它的话,连台电脑都没有,学个屁。我有个亲戚家的孩子想学编程,就只看书,家里连台电脑都不配,说什么“先打好理论基础,再实操”,我真的是有点醉。

    有了电脑,还得联网,自学的过程中肯定会遇到很多问题,遇到问题的时候先问搜索引擎,推荐谷歌和必应;实在没有答案的话,也可以来找我,申请加入技术交流群,问问群里面的大佬们。

    既然要学 Java,JDK 是必须要先安装的,否则 Java 程序就没法编译和执行。

    Maven 也是需要提前安装和配置的,因为后面进阶的话,需要一些练手项目,它们通常都需要 Maven 来加载第三方类库。

    使用集成开发环境 IntelliJ IDEA 来敲 Java 代码吧,比 Eclipse 更流行。千万不要使用记事本编写源代码了,对于小白来说,时间是宝贵的,记事本只适合大牛们用来装逼,不适合小白用来编程(入门),纯浪费时间。

    有了 IDEA,后面学习源码的话,就会方便很多,包括反编译字节码。

    如果英语功底不太好的话,建议安装这两款 IDEA 插件:chinese 和 translation

    如果注重编码规范的话,建议安装这两款 IDEA 插件:Alibaba 和 SonarLint

    为什么还需要 GitHub 仓库或者码云仓库呢?它们可以用来在线云同步源代码,防止版本丢失。学到最后,还可以形成一套自己的工具库,轮子就有了,上班的时候工作效率就会高很多,能直接用的代码再也不用重新写了。

    02、第二个阶段,Java 基础入门

    1)基本数据类型

    2)操作符

    • 算术运算符
    • 逻辑运算符
    • 比较运算符

    3)流程控制语句

    • 条件分支(if/else/else if、三元运算符、switch
    • 循环或者遍历(for、while、do-while)
    • break 和 continue

    4)包

    • 创建包
    • 导入包
    • 包全名

    5)main 方法详解

    • public 关键字
    • static 关键字
    • void 关键字
    • main 方法
    • 字符串数组参数(String[] args

    6)数组

    7)注释

    8)字符串

    03、第三个阶段,Java 核心技术

    1)面向对象

    2)常用工具类

    • 字符串相关的工具类
    • 日期时间相关的工具类
    • 枚举
    • 随机数
    • 正则表达式
    • Apache-commons 工具库
    • Guava 工具库

    3)集合框架

    4)反射机制

    • 什么是反射?
    • 反射有什么用?
    • Class 类

    5)异常处理

    • 为什么需要异常处理机制?
    • Error 和 Exception
    • try-catch-finally
    • try-with-resource
    • 自定义异常
    • 尽量捕获原始异常
    • 不要打印堆栈后再抛出异常
    • 不要用异常处理机制代替判断
    • 不要过早捕获异常

    6)注解

    • 注解是什么?
    • 注解的生命周期
    • 注解装饰的目标
    • 自定义注解
    • 使用注解

    7)IO 流

    • 字符流、字节流
    • 输入流、输出流
    • 同步、异步
    • 阻塞、非阻塞
    • BIO、NIO 和 AIO
    • NIO 2.0

    8)序列化

    • 什么是序列化和反序列化
    • Java 如何实现序列化和反序列化
    • Serializbale 和 Externalizable
    • serialVersionUID

    9)泛型

    10)单元测试

    • Junit
    • TestNG

    11)编码方式

    • ASCII
    • Unicode
    • UTF-8
    • GBK、GB2312
    • 如何解决乱码问题

    12)并发编程

    • 什么是并发
    • 什么是并行
    • 什么是线程
    • 什么是进程
    • 线程的状态
    • 线程的优先级
    • 创建线程
    • 创建线程池
    • 什么是线程安全
    • 多级缓存和一致性问题
    • CPU 时间片和原子性问题
    • 指令重排和有序性问题
    • 线程安全和内存模型
    • happens-before
    • 可重入锁
    • 阻塞锁
    • 乐观锁
    • 悲观锁
    • 分布式锁
    • CAS
    • ABA
    • 偏向锁
    • 轻量级锁
    • 重量级锁
    • 自旋锁
    • 什么是死锁
    • 如果避免死锁
    • synchronized
    • volatile
    • ThreadLocal
    • Executors
    • CountDownLatch
    • Thread
    • Runnable
    • Callable
    • ReentrantLock
    • ReentrantReadWriteLock
    • Atomic 相关类

    13)Java 8 新特性

    14)源码阅读

    • String
    • Integer
    • ArrayList
    • LinkedList
    • CopyOnWriteArrayList
    • HashMap
    • TreeMap
    • LinkedHashMap
    • ConcurrentHashMap
    • CopyOnWriteArrayList

    04、第四个阶段,Java 进阶升级

    1)JVM

    • Java 内存结构
    • 垃圾回收
    • JVM 参数调优
    • Java 对象模型
    • HotSpot
    • 类加载机制
    • 编译和反编译
    • 反编译工具
    • JIT
    • 虚拟机性能监控和故障处理工具(jps、jstack、jmap、jstat、jconsole、javap)

    2)性能优化

    • 使用单例
    • 使用线程池
    • 减少上下文切换
    • 减小锁粒度
    • 数据压缩
    • Stream 并行流
    • GC 调优
    • JVM 内存分配调优
    • btrace

    3)设计模式

    • 设计模式的六大原则
    • 创建型设计模式(单例、抽象工厂、建造者、工厂、原型)
    • 结构型设计模式(适配器、桥接、装饰、组合、外观、享元、代理)
    • 行为型设计模式(模板方法、命令、迭代器、观察者、中介者、备忘录、解释器、状态、策略、责任链、访问者)
    • 单例的七种写法

    4)数据结构和算法

    • 简单的数据结构(栈、队列、链表、数组、哈希表)
    • 树(二叉树、字典树、平衡树、排序树、B 树、B+ 树、R 树、红黑树、多路树)
    • 图(拓扑、有向图、无向图)
    • 稳定的排序算法(冒泡排序、插入排序、鸡尾酒排序、桶排序、计数排序、归并排序、原地归并排序、二叉排序树排序、鸽巢排序、基数排序、侏儒排序、图书馆排序、块排序)
    • 不稳定的排序算法(选择排序、希尔排序、梳排序、堆排序、平滑排序、快速排序、内省排序、耐心排序、Clover 排序)
    • 时间复杂度
    • 空间复杂度
    • 贪心算法
    • KMP 算法

    5)操作系统

    • Linux 常用命令(find、top、tar、move、grep、tail、netstat、curl、wget、ping、ssh)
    • 服务器性能指标(qps、CPU 利用率)
    • 进程同步
    • 分段和分页
    • 虚拟内存和主存

    6)网络安全

    • CSRF
    • XSS
    • SQL 注入
    • 加密和解密(对称加密、非对称加密)
    • MD5、SHA1、DES、RSA
    • DDOS 攻击
    • HTTP 和 HTTPS
    • SSL
    • TLS
    • TCP 和 UDP
    • Cookie、Session
    • CDN
    • DNS

    7)数据库

    • MySql
    • 索引
    • 存储过程
    • 分库分表
    • binlog
    • 读写分离
    • 数据库缓存(RedisMongoDB
    • 数据库中间件(MyCat)
    • 数据库连接池(Durid)

    8)大数据

    • 搜索(Elasticsearch 、Solr)
    • 流式计算(Storm、Spark、Flink)
    • Hadoop

    9)服务器

    • Tomcat
    • jetty
    • Nginx

    10)框架

    • Spring
    • MyBatis
    • Spring MVC
    • Spring Boot
    • Spring Security
    • Spring Cloud
    • Netty
    • Dubbo

    11)消息队列

    12)容器

    • Docker
    • K8s

    需要 Java 书单的话,我在 GitHub 上发现了一个宝藏项目,光看了一下目录,就有点吸引我。

    需要的小伙伴可以按需自取,地址如下所示:

    https://github.com/itwanger/JavaBooks

    05、第五个阶段,活着最重要

    技术是没有终点的,也是学不完的,最重要的是活着、不秃。

    零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。

    最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。

    开源的项目我推荐 GitHub 上的 mall 和 vhr,前者是电商系统,后者是微人事,都用的最前言的技术,并且文档很全面,不怕晕头转向。

    自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。

    高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。

    技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。可以参考下面的链接,好好的准备一下简历,毕竟是找工作的敲门砖。

    入职阿里后,才知道原来简历这么写

    拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!

    展开全文
  • 程序员的工资越来越高,Java软件工程师是其中招聘量最大的一个。如何才能成为一名Java程序员?一、大学学相关专业;二、找专门的IT培训机构学习;...今天我们就来说说如何自学成为拿高薪资的Java程序员。
  • 用我的亲身经历来告诉你如何自学Java

    千次阅读 多人点赞 2020-07-27 20:52:10
    在我的另一篇博文——【一年总结】记我的大一生活中,我其实已经谈过了我的大一经历,但是对于我自学Java的地方往往都是一笔带过的,因为那篇博文主要是想记录我那时所思所想,表达的主要是一种情感,而非“攻略”。...

    在这里插入图片描述

    一、前言

    在我的另一篇博文——【一年总结】记我的大一生活中,我其实已经谈过了我的大一经历,但是对于我自学Java的地方往往都是一笔带过的,因为那篇博文主要是想记录我那时所思所想,表达的主要是一种情感,而非“攻略”。

    所以我觉得我有必要另起一篇来专门讲讲我是如何一步一步自学Java的。

    二、为什么要自学Java?

    有的在校大学生可能会问了,为什么要自学,跟着学校的课程走不好吗?

    我在这里跟大家算一算,拿我在的这所双非一本学校举例,我们是大类招生,大二专业分流,以下使我们的课程安排:
    在这里插入图片描述在这里插入图片描述
    大一学的都是些基础以及一些和专业无关的课,和专业有关的就只有数据结构和c语言。当然我不否认这些基础课程的重要性,但在这里我想说的是,如果按照大学的课程这么走,到大二才堪堪学了一部分专业课程,而且一个大二学的东西这么杂,你敢说你能全部掌握吗?大二相当于你在很多方向上初看了一眼,让你认认路而已。

    没错,就是认认路!

    不要指望老师能真正教你什么。事实上,老师常年在校内做研究,其实很多技术已经脱节,你听过老师来教你使用spring框架吗?你听过老师来教你flutter吗?没有吧,但凡和流行技术沾边的东西,老师一律不交教。

    mybatis他们教吗?不教,教jdbc。
    thymeleaf他们教吗?不教,教jsp。

    说句难听的,他们教的技术一般都是那种不容易改变的,那些时常更新的技术一概不在他们的考虑范围。所以语言这种东西就成了他们的最爱,语言相较于其他技术而言,变化很小,你要想想c语言可是延续了30多年,至今还在使用。

    不过这也不怪他们,对于那些变化快的技术,学习成本太高了,就算学会了,他们也可能教不了几年,性价比低,所以教育方案的思路就是让你接触各种基础,让你明白有那些路。真正深层次的东西还是得靠自己学。

    所以你说自学重要吗?

    谈完要不要自学,我们再来谈谈什么时候自学。

    什么时候自学?

    当然是越早越好!

    我再和大家算算,如果你想在学校里有点作为,你就要参加比赛吧,但是比赛最佳时间是大二,那时候时间充裕。大三虽然也可以,但是你那时候要开始考虑你接下来的路,我团队里负责市场的两个即将大三的学姐都是因为自己学业的原因中途退出的。

    所以你至少得在大一多学些技术,最起码Java基础要学成。

    三、我的经历

    先自我介绍下,本人19级在校大学生,双非一本软件工程专业。在写这篇博文的时候的水平可以参考我的另一篇博文——【项目实战】个人博客(SpringBoot,SSM,thymeleaf,Semantic UI)——从设计思路到成品

    很多人会很惊讶我大一就学了这么多,觉得我很厉害。
    其实不然,我入学的时候也和大家一样,都是啥也不懂,一个平平凡凡的普通人而已。

    但是我为什么会甩开别人那么多,成为别人口中的大佬?其实最大的原因我已经在【一年总结】记我的大一生活这里提到过了,改变自己,就看你是否有这个决心!

    其次还要讲究学习的方法,本文就是围绕这点来讲讲我的学习方法和理解,希望对大家有所帮助。

    四、学好Java的几个点

    1.学习目的

    你是否问过自己:
    你学习Java是为了什么?

    工作,兴趣,还是学校安排?

    搞清自己的学习目的很有必要,因为它会支撑起你的学习热情和学习方向。

    对于我而言,其实很简单,我想做一款app来证明自己,多方搜索决定从Java开始。也许是一时冲动,但我不后悔!

    就是这个目的支撑了我一年的学习——每当自己遇到困难,陷入迷茫时,自己亲手组建的团队、当初的豪言壮语和许下的承诺都是支撑我坚持下去的动力所在。我不能放弃,我也不敢放弃,因为我不仅要对自己负责,还要对我的团队负责,更要对我当初的“梦想”负责!

    所以我不能退!

    这个目标也为我的学习指明方向,后端用到Java,我就去找Java视频看;需要学数据库、服务器,我就去找相应的视频;app协作开发需要用到项目管理工具git,那我就去学git。总之,你要学什么取决于你想做什么。

    所以,如果你还没有一个能说服你自己不管不顾去学习的目标,那么我建议你停下来思考一下——你到底想要什么?
    在这里插入图片描述

    2.自律

    自律其实对于一些三心二意的人来说确实很难,但是影响着我们的学习效率。

    你在学习的时候,千万不要把手机放在旁边,不然当你光明正大的拿起手机然后对自己安慰:我就看看qq有什么消息,看完就放下。然后你就陷入手机无法自拔,吸引你注意的可能是一个推送又或者是随手点开的视频,等你放下手机时可能已经半小时过去了。

    对于自律,我的理解是——你可以玩游戏,可以刷视频,但是你在学习的时候就是学习,不要干其他的,要确保你学习的效率。就算你自律极差,一天只学习一小时,那你也得管住自己确保那一小时的效率。

    3.自信但不自傲

    你想要干大事,自信必不可少。

    比如你想要参加一个比赛,看到往届比赛选手的优异表现,你可能会觉得他们好厉害,不自觉的就怀疑自己的能力,打了退堂鼓。

    殊不知,打败你的不是别人,而正是你自己!为什么别人能做到,你就做不到呢?你连试都没试过,怎么知道自己不如别人呢?

    要有自信,相信自己,自己打退堂鼓是因为自己目前的技术能力不够。
    那不够就去学呗,你为什么不能成为站在台上的那个人呢?

    但是自信不代表你要自傲,对待别人,一定要谦虚,这是一种态度。在这个行业里,大佬比比皆是,你不知道前一秒跟你谈笑风生,问你问题的人,后一秒可能就是帮助你解决问题的人。

    4.会折腾有耐心

    折腾对于我们这个行业的人来说是家常便饭了,尤其是你刚接触一个技术时,折腾是免不了的。
    当你遇到bug异常时要耐心,这其实也是对你能力的一种考验,真正的大佬正是在这种折腾中越来越强的。

    5.有计划有目标

    你一定要对自己的学习路线有所规划,要有自己的学习节奏。
    当你学完一种技术,不要懈怠,不要觉得自己已经大功告成了,事实上,你只是进入一个更大的世界而已。

    6.善于记录,善于输出

    你每次学完一种技术,是不是有一种虚浮的感觉?

    这很正常,每一种技术,不去实践永远不要说自己掌握了,你要把你的所学记录下来。

    写博客就是一种很好的方式。当你向其他人分享自己的所学时,实际上也是在巩固自身。而从功利的角度出发,博客其实也是你实力的证明,一些面试官很喜欢看你的博客,因为他们可以从中看到你做了哪些事。

    当然有实力也可以参加一些开源项目,这对于自己的成长将会有很大的帮助。

    7.学习以构建知识框架为主

    大家学习的时候可能都会遇到这么一种情况,学着学着发现有个地方听不懂,搞不明白了。

    怎么办?

    我的建议是回放再听一遍,如果还是听不懂,那么果断跳过去,不要去纠结。

    学习,尤其是前期学习,要以构建知识体系为主。很多东西你目前可能不懂,那是因为你的知识体系不够完善,等你学完后面的,说不定前面不会的就很顺利的解决。

    切记不要钻牛角尖!

    比如,你在学习些helloword时,你就不要纠结System.out.println() 为什么能够输出。因为这涉及到后面的输入输出流,以及面向对象的思想,你说你入门去纠结这个有什么意义呢?

    所以构建知识体系才是你的当务之急!

    五、学习路线

    首先,先明确一个问题——自学编程最有效率的方式是什么?
    我会毫不犹豫地回答——做项目!
    不会做项目呢?
    看教学视频,其次才是看书。

    说说我的学习路线吧。

    首先大一学c的时候,我就课外自学c语言,看的是b站的鱼c小甲鱼的视频。结果就是要上一学期的c语言被我14天学完了。

    剩下的时间我学的是Java全栈学习,其实我当时看的那个只有三百多集,这个一千多集是我学完之后发现的。

    跟着这系列我学到了很多,再加上我平常逛b站和知乎,自己对于Java学习有了新的理解。

    到了框架部分,我就开始跳脱开这个视频系列,不是说它不好,只是它有些过时了,学学基础部分还好,毕竟基础不怎么变,但是到框架部分就开始有点乏力了。

    至此,我已经学了Java基础、tomcat服务器、网络编程、mysql、oracle数据库。

    我开始根据自身的需求来找合适的视频,后来学了
    mavengitmybatis

    之后恰逢短学期程序设计,我根据我的所学写出了第一个我独立完成的项目——【项目实战】 图书信息管理系统(Maven,mybatis)(第一个自己独立完成的项目),这个博客出乎了我的意料,截止到我写这篇博文时,浏览量已经破4万了,收藏破2000,这给了我极大的鼓舞。

    其实这之间我也忙了些我那个项目的事情,不过与主题无关,我就不细讲了。

    再之后我学了SpringSpringMVCSpringBoot,期间我参加了校软件创新实验室的集训,不过我是讲课的那个。
    为了巩固自身所学,我完成了我第二个项目——【项目实战】个人博客(SpringBoot,SSM,thymeleaf,Semantic UI)——从设计思路到成品
    直到现在我在写这篇博文。

    其实上面这些视频仅供参考。只有适合自己才是最好的。

    那么怎么选择适合自己的视频呢?

    初期入门Java的时候,你可以选些零基础的教学视频。
    标准就是,这个视频必须要自成体系,有一套完善的学习路线,这可以让你在初期不太懂的时候给你指明方向,把你带进Java的大门,这种视频可以不是最新的,但一定要有体系,最好是那些知名培训机构的视频,因为他们一般讲的比较易懂。

    到了一定程度,你对Java有了一定新的认识,你可以跳出这个体系,去找那些你想学的技术视频。但这种视频,时间最好是最新的,因为一般你到这种程度,技术时效性就有了一定要求,你总不希望自己学的是一些过时的技术吧。其次才是热门程度,但你要知道一点,热门的不一定是最好的!

    最后你学到一定阶段,一定要尝试自己做项目,因为做过项目和没做过项目真的是两个水平。

    博文到此就已经结束了,如果你对Java自学有什么疑问或者建议,欢迎在评论区评论。当然,你要是觉得这篇博文在一定程度上帮助到了你,不妨给我一个小小的赞,这将是对我最大的鼓励!!!

    愿我们都能以梦为马,不负青春韶华!
    与君共勉!

    展开全文
  • 自学 Java 怎么入门?

    千次阅读 多人点赞 2019-05-20 10:49:02
    自学 Java 怎么入门?】 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 说过很多遍这个话题了。重复一遍,再说一次。 第一。 Java语法的学习。 3天 你需要会这些: 1. String,...

     这里是修真院后端小课堂,本篇分析的主题是

    【自学 Java 怎么入门?】

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    说过很多遍这个话题了。重复一遍,再说一次。

    第一。 Java语法的学习。 3天 你需要会这些: 1. String,Integer,Long,Array,List,Map会用就够了。 2. Interface和Impl能分得清就够了,永远不要去用继承。 3.Model,也是Bean,记着Model里只有Get和Set方法。贫血模型。 4.try-catch,Throwable, Error 5.函数,参数,返回值

    你一定不要现在去看这些: 1.NIO,Thread,Extend,Abstract,GUI,GC 2.各种JDK的源码,各种算法的实现

    第二。面向对象概念的理解和学习 3天

    你需要会这些: 1.属性和方法 2.private/public 3.static final 4.ArrayList,Set,Map,Array的取值,长度,遍历。StringBuffer 5.null对象,Null指针 6.构造函数 7.this 8.泛型

    你一定不要这个时候去看这些: 1.protect 2.重载 3.多态 4.内部类 5.socket 6.file 7.stream

    第三。常用的Util 3天

    你需要会这些: 1.StringUtils 2.CollectionUtils 3.log4j 4.httpClient 5.calendar

    你一定不要去看这些:

    第四。数据库 9天 你需要会这些: 1.JDBC 2.Mybatis 3.Hibernate 4.增删改查一个表,排序,分页,简单的联表查询 5.索引,思考一下什么样的表建索引,什么是索引

     

    别担心,以上三种都是一理通而百理融

     

    第五。 单元测试 3天

    你需要会这些 1.Junit @Test,@Ignore 2.log4j info,warning,error 3.Eclispe debug,Step,Step in ,Step Out,run

     

    你一定不要学这些

    第六。 Spring 3天

    你需要会这些 1.Spring Bean,Property,Map,List初始化值 2.Autowired 3.Annonation&配置文件 4.Spring Version 5.Spring MVC,@Method @Controller

     

    你一定不要学这些

    第七。Maven 5天

    你需要会这些 1.clean,install,deploy,assembly 2.snapshot/release 3.module 4.subeclipse 5.jetty:run

     

    ============================过段时间更新以下内容==================

    第八 Jsp 3天 用到Jsp主要有两个方面,一种是传统的后台程序员套页面的方式,一种是直接生成Json格式的数据。 受限于Json无法提供SEO,所以在需要SEO的时候还是得提供套页面的方式。 生成Json的方式有很多种,我还是喜欢用Json tag-lib.

    你需要了解的是: 1.C标签 2.自定义Tag 3.include 4.给静态资源加版本号 5.WEB容器未更新Jsp的时候,Touch一下

    你一定不要去学这些: 1.在Jsp里写任何Java代码,包括但不限于是Mysql

     

    第九 WEB 10天

    马丹这里的WEB我写的是什么意思,我忘记了。 大概是SpringMVC的意思? 反正 你需要了解这些: 1.web.xml 2.spring的配置文件 3.统一设置成utf8的编码 4.filter 5.拦截器 6.Controller 7.http协议 8.Http-head content-type application/json x-www-form-urlencoded 9.file的上传 10.图片的上传

     

    你一定不要去了解这些: 1.Struts 2 2.play 3.webService 4.servlet

     

    第十 Tomcat/Jetty 5天

    你需要了解这些: 1.内存和JDK参数的配置 2.指定配置文件的方式部署,docBase 3.日志的配置 acces.log stdout.log.catalina.out之类的 stderr.log 4.写脚本,找出慢查询,cat|awk 5.理解一个请求分过来之后,怎么分解响应时间,怎么去查找性能瓶颈

     

    你不需要了解这些: 1.一个Tomcat或者是Jetty下部署多个项目 2.Jetty的嵌入运行方式

     

    第十一 Cookie 3天 关于Cookie啊,最常用的有两个地方,一个是统计,一个是登录。 所以你需要了解的是这些: 1.Cookie的大小 2.Cookie的传输方式 3.如何获取到Cookie,如果Cookie中有同名的参数,会接收到什么。 4.为什么要用Cookie来代替Session做用户的登录标记 5.Cookie的失效时间 6.清除Cookie

    你不需要了解这些:

     

    第十二 Shell 10天

    Shell的概念很大,所以这里只列出来现阶段你最应该会的东西 你需要了解的是: 1.vim 编码模式,命令模式,正查,倒查,删除一行,移至行尾 2.cat | more 这种是最觉见的日志浏览方式,cat|grep 用来定位Bug的时候最常用的 3.grep -A -B 等,以及如果Cat+Grep定位多个文件,怎么去查找他们是在哪个文件夹下。 4.ls,cd,mkdir,mv,cp,scp,chown,chmod 5.top,free,vmstat,ps,iostat,netstat

    你不需要了解的是:

    1.马丹,不知道哪些不该了解,Shell的东西只要跟实用的都可以多了解

     

    第十三 SVN/Git 5天

    对于后端程序员来讲,我还是喜欢SVN。 Git使用与否,完全看个人喜好。有很多原因,这里不说。

    你需要了解这些: 1.SVN的标准目录:trunk/tags/branches 2.commit,update,revert,history 3.Maven的Release插件 release:prepare release:perform, release:rollback 4.Tag的管理 always tag/always trunk的开发方式 5.Bug出现后,如果和当前开发的项目有冲突,该如何去打Tag,怎么合并代码 6.发布失败后怎么回滚。 7.svn版本号怎么生成的 8.clean

    你一定不要去了解这些: 1.不知道哪些不该了解,不过clock这种操作我建议永远不要用 2.还有合并代码这种事,我也觉得永远不要用,尽量保证你的代码结构很好,而不是想办法让合并代码更简单。

     

    第十四 Json/Gson/JsonTag-lib 5天

    终于到了Json,过了300赞更新的内容就完工了~~ Json是一个神器,现在是有yaml? 无所谓了,不太影响。Json统治互联网已经快7年了。 你应该了解这些: 1.json的 string,number,object,array 2.json的转义 3.怎么样定义出来一个合理的结构,是用array里包含一个Object,还是用一个大的Object,里面的Key是ID,Value是一个Object?是直接用 sex:male 还是用 name:sex, value:male? 4.Gson在Java和Json中的基本类型转换 fromjson和tojson 5. Gson怎么转换自定义的对象,和嵌套的对象(这就是Java最烦人的地方,如果是Groovy或者是Python哪用得着这么麻烦) 6.Json-taglib里的常用标签,怎么将一个ID转换成Number,怎么转换成String 7.编码

    你不应该去了解: 1.fastjson?我忘记了。用Gson就很好了 2.JSONObject还是什么来着?不记得了。 其实这段有点扯,因为你爱用什么我管不着,我也分不清具体哪个好,哪个坏,但是我自己的偏好就是这样的。所以跟着我的必须只能用Gson来写。除非哪天能够说服我说,老大,有一个XXX比Gson更好学。

    这个其实是工程师的天性,完全不必觉得你的领导在打压你的积极性。我见过的优秀的工程师,从来都是主动要求在项目中尝试各种新的激进的技术,而Leader往往都是要权衡N多内容。

     

    好了~~~300赞还算好,很容易突破了。我们看看能不能见~

    ============================过段时间更新以下内容==================

    第十五 REST

    第十六 Jenkins

    第十七 nexus

    第十八 Tiles

    第十九 Nginx

    第二十 Memcache/Redis

    第二十一 Refact

     

    ============================过段时间更新以下内容================== 第二十二 响应时间分析

    第二十三 内存,CPU,硬盘,IO,网络 占用,Zabbix

    第二十四 Top,Vmstat,Free,iostat

    第二十五 慢Sql

    第二十六 缓存命中率/失效策略

    第二十七 TPS,Jmeter/load runner

    第二十八 敏捷开发

    第二十九 bug修复流程

    第三十 上线发布流程

    第三十一 发布中心/ansible

    ======================过段时间更新以下内容==================

    第三十二 RMI,RPC,Thrift 第三十三 GC 第三十四 JMS 第三十五 Groovy 第三十六 一致性哈希,BigTable,Cassandra 第三十七 MongoDB 第三十八 NIO 第三十九 Socket/WEBSocket 第四十 Tuscany/Dubbo

    ======================过段时间更新以下内容==================

    第四十一 马丹我编不下去了。


     

    开玩笑啦,然而还是少了不少的内容,特别是一些业务上的知识。

    比如说:分类的DB怎么设计,什么时候应该拆表,什么时候要分库,支付怎么做,微信的开发流程怎么样,第三方登录的Auth是什么鬼,手机短信验证码如何防攻击,高并发读怎么设计缓存,高并发写怎么合并写入次数,

    以及怎么重构,什么时候重构,怎么预判断需求的变化。

    还有更多的算法相关的内容,zookeeper,paxos,md5,https等等等等。

    以上的步骤不算完全精准,分类也不算完全仔细,嗯。更多的内容我还在整理中。

    展开全文
  • 自学java第四天.java

    2021-09-02 23:12:49
    自学java第四天.java
  • 自学Java多久才可以出去找工作,这个其实也不固定,根据每个人的吸收情况来说,有的学习4个月就敢出去找工作,一般正常来说学6-8个月就可以找工作了,这至少得每天学习4-6个小时,我当自学的时候每天根据个人的情况...

    自学Java多久才可以出去找工作,这个其实也不固定,根据每个人的吸收情况来说,有的学习4个月就敢出去找工作,一般正常来说学6-8个月就可以找工作了,这至少得每天学习4-6个小时,我当自学的时候每天根据个人的情况制定学习方案和学习计划

    我当时自学的学习计划为一下:自学的同学可以参考,觉得有帮助记得收藏关注

    1、我是19年10月开始学习的,正好是国庆节的那段时间,我当时学习是找的系统的一个视频来看,有要的可以找我要,我花了2个月的时候去学习1javase基础的部分学习

    基础的内容包含:java的环境搭建,基础语法,面向对象,集合,常用API,控制流程,数组,io流,多线程、反射机制,网络编程等

    然后利用基础所学的内容做项目

    阶段项目实战

    打印九九乘法表
    打印杨辉三角形
    斐波那契数列练习
    小游戏
    聊天室等

    不练这些小项目的话,基础不牢,地动山摇

    Javase内容,我每天学习在4-6个小时,最低都在2小时,有时候学到晚上1点也很正常的

    2、 11月中下旬-12月中旬我学完数据库及jdbc,完成通过jdbc操作数据库实现用户的注册的登录功能,数据库的学习查询必须要过关

    数据库  Mysql,Oracle

     Mysql一定要学会,因为现在互联网公司多数是用这个数据库;学完Mysql要多练习SQL

     

    3、12月-20年的1月份这期间我学的是前端基础及javaee,当时学习的目标就是我要做一个电商项目。

    前端   

    三大核心技术HTML+CSS+JavaScript这三剑客是必须要学的,然后还要学两大基本框架JQuery和Bootstrap   

    后端   

    XML,MVC框架模式,Servlet, Filter, JSP, EL, JSTL, Ajax, 代理模式, 工厂模式,数据库连接池   

    然后也要练习项目,把前面所学的链接起来,比如:OA管理系统,学生管理系统,采购订单管理系统等等,如果不去练习后面学习起来就很吃力

    项目管理.

    Maven、Git熟悉去掌握就行了

    框架

    Spring, SpringMVC, MyBatis,这是必须要学的,如果是新手自学没人带,或者前面没有做项目,很多人在这里就放弃了,学完这2个要过一下这两个框架Struts2、Hibernate

    SpringBoot, SpringCloud

    1、自己搭建一个框架环境(做好备份,入职100%有用)

    2、升级一下自己之前练习的MVC架构模式的项目

    比如:把Servlet换成springMVC;

    把JDBC换成MyBatis;

    加入Spring去解耦MVC; .

    学完之后要是要做项目

    比如: ssm客户关系管理系统之类的项目;

    这个阶段的内容会把前面学习的所有知识涵盖到应用中使用,非常重要,也是从一个从0开始到最后能做出项目的一个分水岭。

    以上的学完就可以去找工作了,加油吧

    像我所说的情况坚持去学习,找工作是不成问题的

    学习的话不能只是赶进度,咱们学习的目的是学懂,所以学习了要记得隔三差五复习前面的,因为在学javaweb之前的,还不知道前面的知识点的具体应用场景,也没有一个完整的项目练习,都是阶段性的小项目,所以复习就非常重要

    笔记的话我是下载的有道云笔记,或者写在纸质的笔记本上,反正是不建议直接在视频下发做笔记的,时间一长就找不到了,在云笔记上,以后你进企业了,直接登录就可以用了,有些代码是可以重用的,比如上传下载的代码,避免以后重复造轮子,浪费时间,所以写在云笔记上是很有必要的,当然我建议也可以尝试写博客也可以的,但是这个你写上去之前一定得检查不能出错

    最后

    学习不要走马观花的学,每个知识重点大纲,就是学习路线都是根据每一天市场上多数公司用到的新技术整理,在学习的时候还需要结合练习题来做这里的话我也将我之前在学习过程中用到的一些学习资料整理成了文档,以及我自身之前的一个面试文案和知识点补充,有需要的朋友可以加我的扣扣裙697888503这里也希望大家最终都能够学有所成,学习编程不是一天两天的功夫,勤能补拙才是硬道理,祝大家最终都能成为一名合适开发攻城狮。 

    展开全文
  • 到了大三才发现,同学们都陆续去找了实习,有的做机械工作,有的在大二的时候就自学Java或者web前端技术,然后他们通过秋招找到了一份实习的工作,实习的工资基本都在5K左右。从那个时候我开始慌了,但还是没有...
  • 自学背景环境: ...自学的是java,18年三月份的时候因为大学学过2级C语言。java基础部分是在网上找到,大概都能看懂进去,一天看个7,8个小时都OK,但是比较少敲代码,主要学的是javase。java基...
  • 自学JAVA的十大网站你都知道那些

    千次阅读 2021-05-17 16:24:53
    自学JAVA的十大网站你不知道哪个呢目录1.HOW2J.cn2. DZone3. LeetCode4. Java SE 技术文档5. Github6. Coursera7. Java World8. DevStore9. Wikipedia 维基百科10. Program Creek作为开发者来说,必备的除了对编码的...
  • 自学Java能否成功,学好Java不是难事

    千次阅读 2020-08-08 20:11:52
    关于自学 Java 能不能通过社招找到一份互联网公司 Java 开发的工作,有无数的人问出这样的问题,答案其实都在自己身上。当然,技术知识过硬是硬实力,另外再有一些方法技巧等,在这里一并跟大家唠唠 根据我的了解,...
  • 我个人学习Java就是自学的,所以还是有一些发言权,用了一年的时间在学校自学Java,学习的过程中无非就是两个字最重要:坚持。 Java需要学习多久? 每个人情况不同,有的学的快有的慢,几个月或者更久 自学...
  • 自学java day02.md

    2021-08-29 19:52:34
    自学java day02.md
  • 如果你不是在校大学生,并且还没有接触过编程,刚开始学习可以说1-2个月是入门,毕竟自学没人带,很多需要去研究,Java学习看到成果慢。 新手前期主要是安装开发工具,基本入手步骤: 开发环境搭建,安装JDK ...
  • 自学Java如何找工作?

    千次阅读 2019-05-01 10:17:00
    自学java并不是一件非常容易的事情,有一定Java基础的学员可以选择自学Java开发。一般来讲如果通过自学编程顺利找到工作的话,那么后劲一定都会非常的强劲,为什么通过自学编程找到工作的一般在公司做的还可以,作为...
  • Sunil Sahu 自学 Java 该项目包含 Self Learn Java Book 示例的源代码。 书籍主题 介绍 Java 执行环境 入门 Java基础 类和对象 处理字符串 处理日期和时间 重要课程 面向对象编程 异常处理 Collections Framework...
  • 27岁转行自学Java,真的太晚了吗?

    千次阅读 2021-03-08 13:37:39
    在深圳找到的工作,税前是16k,包装3年工作经验,前前后后面试了20多天,平均一天面试两家公司,找工作真...为什么要选择学习Java的原因 因为我大学是学通信专业,所以当时有很多同学就转行做了计算机,但是我当时比较
  • 自学Java第三天 day03.java
  • 自学java笔记.docx

    2021-09-10 11:08:56
    自学java基础笔记(寒假)
  • 自学Java第八天...

    2021-09-04 18:50:25
    自学Java第八天...
  • 自学java的第一天.md

    2021-08-28 20:19:44
    自学java的第一天.md
  • 21天之内的Java 在21天之内走遍Sams自学Java
  • 在国内,Java 语言在开发者中的使用占比长期都处于领先地位,不论是基础的 Web 项目、大型的电商项目和各种企业级项目,Java 语言都能占有一席之地。很多企业和大型项目也都会用 Ja...
  • 在没有任何基础的情况下自学Java要多久呢,是不是很难,许多IT爱好者想通过自学掌握这门语言,这显然是不太现实的,Java的奥妙之深,之复杂是很难衡量的,而无论是网络上的教学视频还是书本里的知识都有一个循序渐进...
  • 自学Java多久才可以出去找工作,这个其实也不固定,根据每个人的吸收情况来说,有的学习4个月就敢出去找工作,一般正常来说学6-8个月就可以找工作了,这至少得每天学习4-6个小时,我当自学的时候每天根据个人的情况...
  • Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...
  • 现在想学Java,本来考虑辞职报培训班,也看了差不多四家机构,都不是很满意,学费一万6左右,我只能贷款,报班的话学习5-6个月。有一个机构一个班100多人,真是把我吓着了。现在纠结要不要自学????个人感觉我...
  • Java-study:自学java笔记
  • 其实,这还真的不是个好回答的问题,问不同的人,你可能会受到不一样的回答,比如零基础自学Java的朋友,回答那么就更是有意思,可能会受到这样的回答:我已经学了两三个月,但是什么时候真的能够学好Java,我自己也...
  • java零基础的学生自学必然会耗费大量的时间和精力,而且如果你没有定制系统的学习方案,效果将事倍功半,上java培训班也是个不俗的自由选择,再加上自己的努力,一定可以学有所成,当然一定要慎重选择靠谱的机构。...
  • Java-Self-Study 自学java--->javaBasics :rocket:目标:掌握java的基本语法 第一阶段学习内容:基本语法 数组 面向对象 java常用类 异常处理

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,482
精华内容 33,392
关键字:

如何自学java

java 订阅