先说明,大佬请忽略我这篇文章, 我是一个做了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. CAN总线学习记录之二:系统结构与帧结构

    CAN总线系统结构 CAN 控制器  接收控制单元中微处理器发出的数据,处理数据并传给 CAN 收发器 CAN 收发器 将数据传到总线 or 从总线接收数据给 CAN 控制器 CAN 数据传递终端 避 ...

  2. MEF 基础简介 四

    前言 前面讲解了MEF的引用方法,接口的导入导出,类属性的导入导出和集合的导出用法其实大家可以看到基本上大同小异的. MEF的延迟加载 我们知道当装配一个组件的时候,当前组件里面的所有的Import的 ...

  3. MD5&&DES加密解密帮助类

    public class _MD5_NETCore加密解密 { /// <summary> /// 加密 /// </summary> /// <param name=& ...

  4. WPF 文本框设置了阴影效果后,因左右的transform变化引发的拉伸渲染问题

    背景 最近遇到一个动画执行时,文本位置变化的问题.如下图: 如果你仔细看的话,当星星变小时,文本往下降了几个像素. 貌似有点莫名其妙,因为控件之间并不在同一个Panel布局控件中,不存在高度限制变化引 ...

  5. vs2017安装pygame,vs2017安装python第三方包

    vs2017有独立的python环境:所以想在vs2017开发python并使用第三方包,需要在vs2017中操作,完成第三方包的安装. 一,查看vs2017有哪些版本的python,当前使用的是哪个 ...

  6. WEB前端 CSS(非布局)

    目录 WEB前端 CSS CSS引入方式 CSS结构 CSS选择器 直接选择器 组合选择器 分组选择器 也叫并集选择器 属性选择器 伪类选择器 伪元素选择器 CSS选择器是一个查找的过程,高效的查找影 ...

  7. 用JS编写一个函数,返回数组中重复出现过的元素

    用JS编写一个函数,返回数组中重复出现过的元素,见下面的代码: , , , , , , , ]; var getRepeat = function (arr) { var obj = {}; , le ...

  8. 后端开发者的Vue学习之路(三)

    目录 上节内容回顾 组件 什么是组件 组件注册 全局注册组件 局部注册组件 使用细节 组件注册的命名规范: 组件中只有一个根元素 组件也是一个实例 组件在某些元素中渲染出错 组件间的数据传递 父子组件 ...

  9. js知识点总结

    组成 ECMAscript 基础语法     变量 数据类型 运算符 数组 函数 对象BOM 浏览器对象模型     window对象(获取浏览器宽高)     history对象     locat ...

  10. asyncio异步IO--同步原语

    asyncio同步原语与线程(threading)模块同步原语基本类似,但有两点重要区别: asyncio同步原语非线程安全,因此不应被用作系统线程同步(可以使用threading代替): async ...