一个.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等 ...
随机推荐
- 根据数值获得概率密度pdf和累积密度分布cdf(MATLAB语言)
y=randn(1,3000); % 生成1-by-3000的标准正态分布随机数 ymin=min(y); ymax=max(y); x=linspace(ymin,ymax,20); %将最大最小区 ...
- webpack4.0各个击破(1)—— html部分
webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...
- redo/declare/typeset
变量设置功能,都是由命令行直接设置的,那么,可不可以让使用者能够经由键盘输入? 什么意思呢?是否记得某些程序执行的过程当中,会等待使用者输入 "yes/no"之类的讯息啊? 在 b ...
- Wcf传递的参数实际不为空,但是接收时显示为空。
问题原因:参数大小写不一致引起,服务端接收参数为空 客户端引用 服务端定义
- Nunit的尝试
(ps:没有代码,只有理论) 单元测试 单元测试(Unit Test)的一个测试用例(Test Case)是一小段代码,用于测试一个小的程序功能的行为是否正常,保证开发的功能子项能正确完成并实现其基本 ...
- Java基础:HashMap中putAll方法的疑惑
最近回顾了下HashMap的源码(JDK1.7),当读到putAll方法时,发现了之前写的TODO标记,当时由于时间匆忙没来得及深究,现在回顾到了就再仔细思考了下 @Override public v ...
- 单元测试与Mockito
1.什么是单元测试? 顾名思义单元测试就是对软件系统中最小的单元(函数.类)做测试,类似焊接电路板前对每个电容器(电子元器件)的测试.从软件测试分级来看,单元测试是最底层也是离程序员最近的一层,一般由 ...
- AndroidTV端的requestFocus()问题
每次开机盒子或者电视的时候,发现给某些控件设置请求焦点 requestFocus 会失效 最终的解决办法就是延时请求 view.postDelayed(new Runnable() { @Overri ...
- Android 开源框架Glide的使用
Glide是一个快速高效的多媒体管理和图像加载的框架,封装了Android平台的多媒体的解码,内存和硬盘缓存等,Glide支持解码.显示视频.图像和GIFs,Glide是基于定制的HttpUrlCon ...
- C#基础学习第一天
..net与C# .NET是一个框架.一种平台.一种技术 C#是一种编程语言,可以开发基于.NET平台的应用 .NET能干什么 Winform ASP.NET Wwb wphone Unity3D游戏 ...