一个.net的程序员如何转到java的?
先说明,大佬请忽略我这篇文章, 我是一个做了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的?的更多相关文章
- fir.im Weekly - 如何做一个出色的程序员
做一个出色的程序员,困难而高尚.本期 fir.im Weekly 精选了一些实用的 iOS,Android 开发工具和源码分享,还有一些关于程序员的成长 Tips 和有意思有质量的线下活动~ How ...
- 4年前端、2年CTO:一个非科班程序员的真实奋斗史
1.引言 我,Scott,一家创业公司的 CTO. 从业6年却很少写文章,近一年来接触了几十个刚毕业的前端新人,也面试了100多个前端工程师和Nodejs工程师,对于前端发展的这个职业算是有些感触 ...
- 寻找下一个结点 牛客网 程序员面试金典 C++ java Python
寻找下一个结点 牛客网 程序员面试金典 C++ java Python 题目描述 请设计一个算法,寻找二叉树中指定结点的下一个结点(即中序遍历的后继). 给定树的根结点指针TreeNode* root ...
- 从程序员到CTO的Java技术路线图 作者:zz563143188
在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...
- 想转行做程序员,是学习JAVA还是Python?哪个更好?
请大家务必审题,转行做程序员,是程序员,并非数据分析也不是软件测试. 首先声明:这是一篇容易引起撕逼的问答,为了祖国和谐,人民安康,请各位看官尽量理性讨论. 同时,这篇文章是面向一些初入行的朋友进行一 ...
- 程序员必须掌握的Java 框架,小白学会之后15k不是问题
Spring 的核心特性是什么?Spring 优点? Spring 的核心是控制反转(IoC)和面向切面(AOP) Spring 优点: 程序员必须掌握的Java 框架,学会之后50k不是问题 (1) ...
- 碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python
碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python 题目描述 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率.(这里的相撞是指存在任意两只 ...
- 检查是否是BST 牛客网 程序员面试金典 C++ java Python
检查是否是BST 牛客网 程序员面试金典 C++ java Python 题目描述 请实现一个函数,检查一棵二叉树是否为二叉查找树. 给定树的根结点指针TreeNode* root,请返回一个boo ...
- 如何成为一个C++高级程序员
C++这门语言从诞生到今天已经经历了将近30个年头.不可否认,它的学习难度都比其它语言较高.而它的学习难度,主要来自于它的复杂性.现在C++的使用范围比以前已经少了很多,java.C#.python等 ...
随机推荐
- 第62章 EntityFramework支持 - Identity Server 4 中文文档(v1.0.0)
为IdentityServer中的配置和操作数据扩展点提供了基于EntityFramework的实现.EntityFramework的使用允许任何EF支持的数据库与此库一起使用. 这个库的仓库位于这里 ...
- WPF 界面如何绑定Command
WPF中,我们使用MVVM,在ViewModel中定义Command和其业务逻辑,界面绑定Command. 那么是不是所有的事件都可以定义Command呢,然后将业务全部放在ViewModel中呢? ...
- Nunit的尝试
(ps:没有代码,只有理论) 单元测试 单元测试(Unit Test)的一个测试用例(Test Case)是一小段代码,用于测试一个小的程序功能的行为是否正常,保证开发的功能子项能正确完成并实现其基本 ...
- jQuery.Ajax IE8,9 无效(CORS跨域)
今天在开发网站的时候,发现一个问题,$.ajax()在 IE8,9 浏览器不起作用,但 Chrome,Firefox ,360,IE10以上等浏览器却是可以的,网上资料很多,查询最后发现是 IE8,9 ...
- 设置chrome浏览器背景颜色
经常看博客,页面背景都是白色的居多,看久了眼睛就不适合了,决定修改chrome浏览器背景颜色,保护下自己的眼睛, 下载chrome 插件Stylish并安装,安装成功后chrome右上角有它的图标,点 ...
- angular部署到iis出现404解决方案
angular应用部署在iis上,刷新出现404 解决方案: 安装 iis URL Rewrite 模块,并在 src 目录下增加web.config,配置urlrewrite如下: <conf ...
- Android PAI (PlayAutoInstall)预装APK 功能
最近刚找到工作,是手机方案公司,刚接触手机系统预装的APP,以及解决方案MTK平台下预装APP的bug,也接触到了Launcher的东西. 然后接触到了第一个需求 PAI预装APK功能 下面是我用到的 ...
- ASP.NET Zero--开发指南
ASP.NET Zero--开发指南(Lyhcee 译) 01. 前期介绍 02. 前期要求 03. 解决方案结构(层) 04. 前端应用程序 05. 后端应用程序 06.WEB.HOST应用程序 0 ...
- C#中Windows窗体工具栏
标签(Label):用于显示用户不能编辑的文本或图像.常使用它对窗体上的其他各种控件进行标注或说明. 文本框(TextBox):用于获取用户名输入的信息或向用户显示的文本. 组合框(ComboBox) ...
- iOS pthread
pthread 是属于 POSIX 多线程开发框架 创建线程的方法:pthread_create 参数含义: 1.指向线程代号的指针 2.线程的属性 3.指向函数的指针 4.传递给该函数的参数 返 ...