学习java方面的一点收获

2023-05-16

学习JAVA方面的收获

        经过将近两年的时间学习java,觉得在java方面有比较大的收获。在学习和实践过程中逐渐对代码习惯、软件思维都有比较进一步的了解。java语言的纯面向对象、平台无关性是java能够得到比较多的程序开发者的青睐。另外,java语言的许多开源工具使得它能够更加容易为普通的程序开发者提供许多快速入门和提高开发水平的途径。我从一开始就非常喜欢java,但是曾经走过很多弯路,主要原因在于在当今这个互联网技术突飞猛进的知识经济时代,没有好好利用许多很好的平台,我错失了许多良机,从现在看来,损失确实不少,所以,我现在开始增加与许多的编程爱好者和高手交流,学习更加先进的编程技术和技巧。当然,在现代语言方面,不仅仅是只有java,C++也是非常吃香的语言,而且C++是一门经久不衰的语言,我也是比较喜欢的,但是一只脚是不能同时踩两只船的,我只能侧重一边拉。不过,我希望能够通过坚持不懈地努力,掌握好这两种优秀的开发工具。

        java语言发展的历史不是很长,但是发展迅速。我在学习过程中就发觉到了,JDK的版本不断更新;Tomcat、Weblogic、Websphere等Web应用服务工具不断升级;Eclipse、JBuilder等开发平台不断更新,让我充分感受开源工具进步的速度。虽然,java技术不断更新,但是我也能够在许许多多的资料中学习到哪些东西是不会变的,这些东西就是最基本的编程习惯、编程基础和语言基础。

       java是一个纯面向对象的语言,它具有继承性、封装性和多态性三个特性,当然其他具有面向对象的语言也同样具有这些特性,但是java独特的地方就在于它不能通过过程来运行,它必须有类。java的程序要运行必须有一个类,对于application应用程序的java编程,还必须有主类,主类必须是public的,主类里面要有main函数,入口也是从main函数进去的。类是面向对象编程的特色所在,它具有不同的封装等级、类可以由子类继承、类里面的函数也支持同名异式的多态形式、对子类继承父类时,如果父类有抽象函数,则也可以产生多态形式、对子类实现接口,或继承抽象类时,也可以实现多态形式。

        java还支持多线程的编程,对java的多线程主要是在需要不断重复执行一件事情的时候用到的,我在编程的时候主要用在监听网络的时候用到这个方法。多线程编程我觉得主要的有类Thread、Timer、TimerTask和一个接口Runnable。在多线程中比较常用的方法是run(),这个方法是父类里面继承过来的,一般是构造一个无穷的循环,然后通过设定一个sleep(1000)的时间来实现在隔一定的时间不断执行一件事情。

        java编程我感觉它最强大的功能是网络编程,java编程Web应用的工具非常多,功能也很强大,主要的有Tomcat、Apache、Weblogic和Websphere等,其中Tomcat我是用得最多的,一般我部署Web应用的时候一般都在Tomcat上,我以前单独部署Tomcat时一般是采用编写一个批处理文件的,但是这种方法比较麻烦,每次都要生成war包,还要拷贝等。后来采用Eclipse来直接部署,只要将工程与Tomcat联系起来,就可以直接快速部署和运行。Weblogic和Websphere的配置没有成功过,有时间还要请教一下这方面的高手和查一些资料来认真学习。java的Web编程还有其他的框架工具,包括struts、spring等,让我觉得编程方面了许多,而且struts还是支持MVC编程的,支持了Modal(模型层)、View(视图层)和Controler(控制器)的三层结构。

       另外,java在B/S架构下访问数据库也有一些框架可以非常方便的实现数据访问的持久化工作,这些框架包含Hibernate和Ibatis,不过在实际开发过程中,我感觉Hibernate用得更多一些,而且功能也更为强大。

        在现在javaWEB编程中,比较流行的一个工具就是Webservice,不过这个工具现在我用得不多,我目前只是接触过Axis和SOAP协议结合的Websercie编程方式,在这个学习过程中也学到许多知识,包含xml配置文件的编写和配置,UDDI协议和WSDL等以前没有接触过的技术。但是到现在为止,我还是对Webserice编程不熟悉,希望能够得到更多高手的指点和帮忙。

        两年的学习,我感觉自己有一些收获,但是也感觉学习的效果并不是特别好,所以,我决定在以后的学习中更加掌握方法,更充分地利用现成的工具----网络资源,更快地提高自己的编程能力和技巧,另外,对java的swing组件和AWT组件也有一下了解,但是这方面就比较差了,但是在要用到这方面技术的时候也要好好学习一下,主要学习的方面是JFrame和Frame的窗口框架和一些跟图形界面编程相关的类和方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习java方面的一点收获 的相关文章

  • Java 错误和警告列表

    在哪里 如何获得所有 java 和 javac 的错误和警告消息的列表 This http mindprod com jgloss compileerrormessages html我认为页面是您所需要的
  • Spring Data Jpa OneToMany 同时保存子实体和父实体?

    这是我的父实体 注意 为了简洁起见 删除了 getter setter lombok 注释 Entity public class Board Id GeneratedValue strategy GenerationType IDENTI
  • Android 信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR) libwebviewchromium.so

    对于 android 4 4 我多次收到 Native crash at system lib libwebviewchromium so 错误 以下是设备包括 Xperia Z1 SO 01F 16 30 2 Galaxy Tab4 7
  • 传递自定义类型查询参数

    如何接受自定义类型查询参数 public String detail QueryParam request final MYRequest request 上面的行在启动服务器时出现错误 jersey server model ModelV
  • java:为什么主线程等待子线程完成

    我有一个简单的java程序 主线程 main 创建并启动另一个线程t class T extends Thread Override public void run while true System out println Inside
  • 是否可以创建 Java RAM 磁盘以与 java.io.* API 一起使用?

    我正在使用一个第三方库 它基本上创建一个输出目录 其中包含不同类型的文件和子目录 我希望能够编写单元测试来确认输出正确 我希望能够将库与 RAM 磁盘一起使用 这样库所做的任何事情都不会以任何方式接触实际的磁盘板 这个想法是让测试运行和清理
  • 在 Eclipse 中删除空块之前的新行

    我更喜欢奥尔曼式 http en wikipedia org wiki Brace style Allman style大括号 例如 if foo magical prancing unicorn stuff 而不是 if foo unma
  • java绕中心旋转矩形

    我想围绕其中心点旋转一个矩形 它应该保留在应该绘制的位置并在该空间中旋转 这是我的代码 AffineTransform transform new AffineTransform transform rotate Math toRadian
  • 如何获取 JDBC 中 UPDATE 查询影响的所有行?

    我有一项任务需要使用更新记录PreparedStatement 一旦记录被更新 我们知道更新查询返回计数 即受影响的行数 但是 我想要的不是计数 而是受更新查询影响的行作为响应 或者至少是受影响的行的 id 值列表 这是我的更新查询 UPD
  • BigDecimal汇总统计

    我有一个 BigDecimal 列表 List
  • 如何在 JmsMessagingTemplate.sendAndReceive 上设置等待超时

    我在 MVC 控制器中使用 JmsMessagingTemplate 的 sendAndReceive 但如果没有发送回复消息 它似乎会永远等待回复 该文档指出 返回 回复 如果无法接收消息 例如由于超时 则可能为 null 然而 我只是不
  • Java 8:如何创建毫秒、微秒或纳秒的 DateTimeFormatter?

    我需要创建格式化程序来解析具有可选的毫秒 微米或纳秒分数的时间戳 例如 对于我的需求 我看到以下机会 DateTimeFormatter formatter new DateTimeFormatterBuilder append DateT
  • 向Java类库添加函数

    我使用的 Java 类库在很多方面都不完整 有很多类我认为应该内置其他成员函数 但是 我不确定添加这些成员函数的最佳实践 让我们调用不足的基类A class A public A long arbitrary arguments publi
  • 如何使用 AffineTransform.quadrantRotate 旋转位图?

    我想旋转一个bitmap关于它的中心点 然后将其绘制成更大的图形上下文 位图是40x40 pixels 图形上下文是500x500 pixels 这就是我正在做的 BufferedImage bi new BufferedImage 500
  • 难以理解 通配符

    我有一个非常基本的问题 下面的代码无法编译 假设 Apple Extends Fruit List
  • Spring 如何在运行时获取有关“强类型集合”的泛型类型信息?

    我在 Spring 3 0 文档中阅读了以下内容 强类型集合 仅限 Java 5 在 Java 5 及更高版本中 您可以使用强类型集合 使用泛型类型 也就是说 可以声明一个 Collection 类型 使其只能包含 String 元素 例如
  • Spring MVC:通用 DAO 和服务类

    我正在 Spring MVC 中编写网页 我使用 Generic DAO 编写了所有 DAO 现在我想重写我的服务类 我该如何写 通用服务 我的 DAO 如下 DAO package net example com dao import j
  • 使用 Hibernate Envers 的复合表

    我有一个带有复合表的应用程序 其中包含一个额外的列 一切正常 直到我们添加 Hibernate Envers Audited org hibernate MappingException 无法读取 no pack response Resp
  • FragmentMap + ActionBar 选项卡

    我一直在尝试插入一个MapView进入一个ActionBar Tab 但我什至无法解决问题 即使谷歌搜索 这是主要活动 Override public void onCreate Bundle savedInstanceState supe
  • JPA ManyToMany 产生的空联接表

    我有一个应用程序 其中我尝试使用 Hibernate 作为 JPA 提供程序来实现两个实体之间的多对多关系 我正在尝试的例子是一个单向的 其中一个相机可以有多个镜头 而镜头可以安装到多个相机中 以下是我的实体类 只需粘贴其中的相关部分 Ca

随机推荐

  • 解决angular中的版本问题,Metadata version mismatch for module,found version 4, expected 3

    angular版本问题解决办法 xff1b 第一步 xff1a 查出错误模块的当前安装版本 以 ng bootstrap模块为例 npm list ng bootstrap 第二步 xff1a 查出所有版本号 npm view ng boo
  • python2.7爬取京东商品评论

    大神请绕路 xff0c 新手先别急着上车 我们先来了解一下京东商品评论的地址 xff0c 他们的客户评论看似是在商品页 xff08 item jd com xff09 xff0c 但实际上是在club jd com review 这个url
  • 进入docker容器的方法

    最近想着怎么进入到容器内部 xff0c 然后把里面的配置文件拷贝出来 xff0c 下面是一些操作记录 1 进入docker容器的方法 命令 xff1a docker exec it 容器id bin sh 进入容器后相当于进入了另外一个li
  • spring bean的循环引用

    看过一次spring公开课 xff0c 记录一下bean的循环引用问题 问题 public class IndexService 64 Autowired IndexDao indexDao public class IndexDao 64
  • Excel文本格式怎么出现小三角

    左上角的小三角是文本型数字标志 xff0c 将一列数值的左上角一次性加上绿色的三角标示 就是将常规或数值型的数字改变为文本格式数字 办法 xff1a 选定该列数据 xff0c 点菜单 数据 分列 xff0c 点两次 下一步 xff0c 在
  • docker磁盘占用清理问题

    本文转自http dockone io article 3056 如何清理Docker占用的磁盘空间 编者的话 用了Docker xff0c 好处挺多的 xff0c 但是有一个不大不小的问题 xff0c 它会一不小心占用太多磁盘 xff0c
  • sql exists用法

    转自https www cnblogs com xuanhai p 5810918 html 转载于 https www cnblogs com yongan p 11362595 html
  • 深入了解QtCreator的实用功能

    重构代码 在源代码中搜索 重命名 重排代码格式是原生支持的功能 在代码中右键弹出的菜单中 xff0c 有一个Refactor菜单项 xff0c 根据当前光标位置不同的代码元素 xff0c 具有相应的重构子菜单 xff0c 可以很方便地完成很
  • ubuntu20.04server下安装hadoop2.8.5

    参考Ubuntu下Hadoop安装 xff08 全命令行版 xff09 安装环境 项目名称版本电脑硬件Huwei Matebook X Proi7 8550U 16G 512G操作系统Windows 10家庭中文版虚拟机VMware Wor
  • 几个VS/QT常见错误解决方法

    X86与X64冲突 问题 1 gt Qt5Widgetsd lib Qt5Widgetsd dll fatal error LNK1112 模块计算机类型 X86 与目标计算机类型 x64 冲突 解决方法 在Qt VS Tools里添加正确
  • NMAKE编译CTK

    NMAKE编译CTK 启动编译环境 从VC中启动命令行或通过VC提供的批处理启动命令行 xff0c 以能运行编译环境 如果装了多个VC版本 xff0c 注意使用想要的VC版本启动安装编译环境 外链图片转存失败 源站可能有防盗链机制 建议将图
  • VERILOG实现四位七段数码管显示

    filename dyp v author lyq Date 2016 3 2 9 36 Lattice XP2 17 DEMO BOARD 4位七段带小数点数码管显示控制模块 clk 50M d1 d4 d 7 dp d 6 0 ASCI
  • 网络编程一些重要的面试题

    为什么需要三次握手 xff1f 答 xff1a 三次握手的目的是 为了防止已经失效的连接请求报文段突然又传到服务端 xff0c 因而产生错误 xff0c 这种情况是 xff1a 一端 client A发出去的第一个连接请求报文并没有丢失 x
  • XILNIXSDK2018为FreeRTOS增加配置项的方法

    在安装目录下找到目录 xff1a SDK 2018 1 data embeddedsw ThirdParty bsp freertos10 xilinx v1 0 data 然后通过两个步骤来完成配置项的增加 1 编辑文件 freertos
  • STM32F系列USART的IDLE中断要注意了

    只是调用USART ClearITPendingBit之类的方法是清除不了中断标志的 xff0c 必须必须在调用USART GetITStatus之后调用 USART ReceiveData xff0c 因为IDLE被搞成了一个帧 xff0
  • STM32库USART_ITConfig的坑

    USART ITConfig只能使用一个中断标志 xff01 看看中断参数的定义 xff1a define USART IT PE uint16 t 0x0028 define USART IT TXE uint16 t 0x0727 de
  • 最强大易用的开源MODBUS库-YMODBUS,包含MASTER/SLAVE

    无论是MASTER或SLAVE xff0c 构建MODBUS应用都极其简单 xff0c 可通过设置Master为Slave的Player轻松实现MODBUS网关 项目使用C 43 43 11编写 xff0c 支持多线程 xff0c 可在WI
  • keil5 添加注释说明模板

    我们使用 Keil uvision5 编写代码时 xff0c 为了规范代码 xff0c 一般会在文件开头对本文件进行注释说明 xff0c 同时我们也会在函数的开头对函数进行说明 但 Keil5 集成开发环境中没有这些注释模板 xff0c 而
  • Putty 使用记录

    Putty 显示时间戳 需要三个软件 Putty xff0c ExtraPuTTY xff0c mtputty Putty用来提供基本功能 ExtraPuTTY用来提供时间戳功能 mtputty用于多链接多页面显示 ExtraPuTTY中的
  • 学习java方面的一点收获

    学习JAVA方面的收获 经过将近两年的时间学习java xff0c 觉得在java方面有比较大的收获 在学习和实践过程中逐渐对代码习惯 软件思维都有比较进一步的了解 java语言的纯面向对象 平台无关性是java能够得到比较多的程序开发者的