先说明,大佬请忽略我这篇文章, 我是一个做了5年的纯种C#开发人,  我在此仅记录一下我转java的过程.都知道, java是开源的,所以它的开发工具贼多,不像.net, 直接地表最强的IDE. 像现在最流行的是intellij idea,前几年常用的是Eclipse 和MyEclipse, 但我遵从大众的初衷, 是从Eclipse. 我没有刻意去了解它这个工具是怎样,首先我先了解它是如何创建项目的, 先从System.out.println 开始. 至此, 第一个java的hello word 就出来了.

一、Java基础

开始, 我用了三天来看它里面的语法(总时间估计也就是10个小时左右), 主要是看视频. 我侧重点是在集合、继承、泛型、反射等,因为之前有过.net的基础, 所以感觉都是大同小异,很多直接忽略过了, 只是记录一些特殊的语法而已。 我发现java和.net的一个不同, 一个java文件内,不能同时存在两个非内部类的,但是.net的可以;还有继承关键字不同, .NET的是用:,而JAVA是用extends,  而接口的实现,需要用 implements  ; 还有一些反射的关键字有所不同. 常用的三种获取对象的方式:

  1. 实例对象,直接用getClass() ;

  2. 直接用类class ;

  3.用Class.forName("包名.类名"); 还有,集合:  像Colletion 和Map , 它所包含的子类,一定要熟记于心, 这样面试才有自信。 这些是java的基础, 必须尽量的熟悉掌握;

二、数据库连接

接下来,一小段时间,我出现了迷茫, 基础我懂了,但是不知道怎么下手到web, 然后我一直整理出自己的学习思路(这里本来想花个思维导图的,但是没画)。我并没有急于去学习框架, 我从连接数据库开始,我先下载对应版本的mysql数据库驱动, 数据库连接基于以下几个步骤:

  1.读取配置文件(文件包含有: driver(驱动), url(mysql的驱动,谨记,这里最好后缀加ssl配置和转码机制), user和password 分别数据库的账号和密码 ) ;这里你也可以直接写在java文件里面, 不一定在配置文件.

  2. 用Class,forName加载驱动

3. 用Connetion对象接受DriverManager.getConnection(url,user,password);

至此, 数据库连接成功;

三、Servlet 和JSP 学习;

刚开始,我把这两个混淆了, 我以为跟.net的MVC一样, Controller对应的相应的页面, 然而,我错了.  但是他们却有异曲同工之处, 搞过微软的mvc的都知道, Controller里面可以根据方法,在你return view()没有指定对应的页面时候,是返回到对应的同名页面; 而servlet不同, 它继承与httpservlet, 下面整理设计到的知识点:

  1.要了解servlet和JSP的基础语法糖;入<%%> ,<%=%>  以及include指令和行为等等...

  2.了解servlet和JSP的传值.我目前掌握的是, 利用 request.setAttribute来成为作用于, 再用request.getRequestDispatcher("index.jsp").forward(request, response);进行传值到index.jsp页面, 接受的话, request.getAttribute进行接收即可.当然,这里只是简单举例而已, 还有其它待我去发现。

  3.一些session缓存等等.

综合上述, 我已将java的基本要素拿下. 我没有说去看它里面的jvm怎么优化和工作原理, 那些是未来的我去了解的.现在是刚刚开始自学转入, 接下来, 需要学的是,如何在linux系统上部署项目,如何生成发布项目等等..本人语言能力有限,仅此献丑.

  

一个.net的程序员如何转到java的?的更多相关文章

  1. fir.im Weekly - 如何做一个出色的程序员

    做一个出色的程序员,困难而高尚.本期 fir.im Weekly 精选了一些实用的 iOS,Android 开发工具和源码分享,还有一些关于程序员的成长 Tips 和有意思有质量的线下活动~ How ...

  2. 4年前端、2年CTO:一个非科班程序员的真实奋斗史

    1.引言   我,Scott,一家创业公司的 CTO. 从业6年却很少写文章,近一年来接触了几十个刚毕业的前端新人,也面试了100多个前端工程师和Nodejs工程师,对于前端发展的这个职业算是有些感触 ...

  3. 寻找下一个结点 牛客网 程序员面试金典 C++ java Python

    寻找下一个结点 牛客网 程序员面试金典 C++ java Python 题目描述 请设计一个算法,寻找二叉树中指定结点的下一个结点(即中序遍历的后继). 给定树的根结点指针TreeNode* root ...

  4. 从程序员到CTO的Java技术路线图 作者:zz563143188

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

  5. 想转行做程序员,是学习JAVA还是Python?哪个更好?

    请大家务必审题,转行做程序员,是程序员,并非数据分析也不是软件测试. 首先声明:这是一篇容易引起撕逼的问答,为了祖国和谐,人民安康,请各位看官尽量理性讨论. 同时,这篇文章是面向一些初入行的朋友进行一 ...

  6. 程序员必须掌握的Java 框架,小白学会之后15k不是问题

    Spring 的核心特性是什么?Spring 优点? Spring 的核心是控制反转(IoC)和面向切面(AOP) Spring 优点: 程序员必须掌握的Java 框架,学会之后50k不是问题 (1) ...

  7. 碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python

    碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python 题目描述 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率.(这里的相撞是指存在任意两只 ...

  8. 检查是否是BST 牛客网 程序员面试金典 C++ java Python

    检查是否是BST 牛客网 程序员面试金典  C++ java Python 题目描述 请实现一个函数,检查一棵二叉树是否为二叉查找树. 给定树的根结点指针TreeNode* root,请返回一个boo ...

  9. 如何成为一个C++高级程序员

    C++这门语言从诞生到今天已经经历了将近30个年头.不可否认,它的学习难度都比其它语言较高.而它的学习难度,主要来自于它的复杂性.现在C++的使用范围比以前已经少了很多,java.C#.python等 ...

随机推荐

  1. WPF中Datagrid控件添加行号

    /// <summary> /// 导入Excel文件按钮 /// </summary> /// <param name="sender">&l ...

  2. 杭电ACM2015--偶数求和

    偶数求和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  3. VSTO中Word的Range复制方式

    VSTO中Word的Range复制方式 前言 VSTO是一套用于创建自定义Office应用程序的Visual Studio工具包,通过Interop提供的增强Office对象,可以对Word文档进行编 ...

  4. [Redis] redis的设计与实现-对象系统

    1.redis并没有直接使用前面的数据结构实现键值对数据库,而是基于数据结构创建了一个对象系统,字符串对象/列表对象/哈希对象/集合对象/有序集合对象都用到了至少一种前面的数据结构2.针对不同的使用场 ...

  5. FrameSet定义页面宽度并且居中

    frameset定义一个1000px的页面并且居中 <frame src = "about:blank"></frame> : 这个语句的功能是在一个框架里 ...

  6. 我从来不理解JavaScript闭包,直到有人这样向我解释它...

    摘要: 理解JS闭包. 原文:我从来不理解JavaScript闭包,直到有人这样向我解释它... 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正如标题所述,JavaScript闭包 ...

  7. HTML和CSS前端教程03-CSS文本样式

    目录 1.CSS颜色-建议就用十六进制 2.CSS长度的度量单位-建议就用px 3.CSS文本样式 3.1. 字体属性 3.1. 文本样式 1.CSS颜色-建议就用十六进制 p{ color: #ff ...

  8. iOS----------禁止输入汉字

    说明: ^.*[\u4e00-\u9fa5].*$ 是否包含中文^[\u4E00-\u9FA5]+$ 是否全中文 - (BOOL)textField:(UITextField *)textField ...

  9. c++模板特化偏特化

    模板为什么要特化,因为编译器认为,对于特定的类型,如果你对某一功能有更好地实现,那么就该听你的. 模板分为类模板与函数模板,特化分为全特化与偏特化.全特化就是限定死模板实现的具体类型,偏特化就是模板如 ...

  10. Linux查看分区文件系统类型总结

    在Linux 中如何查看分区的文件系统类型,下面总结几种查看分区文件系统类型的方法. 1: df -T 命令查看 这个是最简单的命令,文件系统类型在Type列输出.只可以查看已经挂载的分区和文件系统类 ...