首页 \ 问答 \ 我想自学JAVA编程 请问需要看什么样的书能入门?

我想自学JAVA编程 请问需要看什么样的书能入门?

更新时间:2021-12-02 18:12

最满意答案

建议用哲程软件的《哲程协同办公系统》,可以找杭州哲程软件有限公司买,他们是正规OA厂商,实施和服务的团队很强。我们就是找他们买的,上线很快,目前使用也很稳定,售后服务好~买了软件能保证用起来这是很关键的~

其他回答

协众OA软件很好用,功能强大,高性价比,他们好像是基础PHP开发的
一、语言
php是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php好学。
java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。java的web开发首先最容易想到的就是jsp(现在已经到jsp2.0),原来的java的web开发都是用servlet来实现的,用servlet来开发需要程序员在java的源文件中嵌入大量的html代码。所以后来就出现了jsp,jsp可以方便的嵌入到html文件当中,其实jsp文件在服务器上执行的时候首先会被应用服务器转换成servlet,然后再编译执行。jsp可以通过servlet和javabean的支持产生强大的功能。javabean是一种可复用的、跨平台的软件组件。使用javabean可以方便的实现java代码和html的分离,能够增强系统的功能和软件的复用性。
java的web开发属于sun公司定义的j2ee其中的规范。而且在j2ee中包括了java的web开发的所有方面,如:jsp、servlet、jdbc、jndi、javabean、ejb等等。j2ee就特别适合于做大型的企业级的应用。
二、数据库访问
java通过jdbc来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库。访问数据库的接口比较统一。php对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用java开发的web应用从mysql数据库转到oracle数据库只需要做很少的修改。而php则需要做大量的修改工作。
三、系统设计架构
采用java的web开发技术,需要使用的是面向对象的系统设计方法,而php还是采用面向过程的开发方法。所以用java进行开发前期需要做大量的系统分析和设计的工作。
四、跨平台性
java和php都有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在linux或者windows等不同的操作系统上。
五、开发成本比较
php最经典的组合就是:php + mysql + apache。非常适合开发中小型的web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。
java的web应用服务器有免费tomcat、jboss等,如果需要更好的商业化的服务有:websphere和weblogic。
六、分布式多层架构比较
php只能实现简单的分布式两层或三层的架构,而java在这方面就比较强大,可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如struts就是利用java的web开发技术实现了mvc的设计模式,而在业务逻辑层也有spring框架,数据库持久化层有hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。
下面简要的说一下struts,它实质上是在jsp model2的基础上实现的一个mvc(model、view、controler)框架。jsp model2体系结构是一种联合使用jsp与servlet来提供动态内容的方法。在struts框架中,模型由实现业务逻辑的javabean或ejb组件构成,控制器由servlet实现的,视图由一组jsp文件组成。采用struts可以明确角色的定义和开发者与网页设计者的分工。而且项目越复杂,其优势越明显。
七、源代码安全
php开发的程序的源代码都是公开的,他人拿到php开发的程序后都可以进行修改。java开发的程序,最后用户拿到的是只是一些编译好的class类,无法看到完整的源代码,安全性高。
八、性能
有人做过试验,对这两种种语言分别做回圈性能测试及存取oracle数据库测试。在循环性能测试中,jsp只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而php测试的是2000*2000循环(少一个数量级),却分别用了63秒。
数据库测试中,二者分别对oracle 8进行1000次insert,update,select和delete:jsp需要13秒,php需要69秒。
综上所述,php适合于快速开发,中小型应用系统或者网站类的web开发,开发成本低,能够对变动的需求作出快速的反应。而java适合于开发大型的企业级应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用java开发的系统要比php开发的系统的价格要高。
这个多啦。 深圳市天盈软件 提供协同应用 、 OA办公系统的开发平台,J2EE的,纯java的系统啊,流程自定义,展现界面自已定义,不会编码的人员也可以做出来一个可用的OA系统啊,你可以试一下。

相关问答

更多
  • 青岛OA办公系统[2023-06-26]

    青岛OA办公系统 你好,首先不用跪谢! OA办公系统是企业无纸化办公的基本条件,他不仅是一种工具更是一种办事思路和标准化流程。现在办公大家都对着电脑,有个事能直接发消息给指定的人,并且可以看到事情的办理状况和进程,这样可以避免责任归属不清楚,领导查起来相互推卸,也不知道归谁办,也不知道办到哪里了,事情一件一件的不了了之,公司的好想法被一件一件的扼杀在员工的办事效率和流程之中;公司的邮件也乱七八糟,谁谁谁走了邮件还有文件就再也找不到了;领导今天同意的事,明天记不得了;公司和外面签的合同找不到了;谁谁谁和主任关 ...
  • 免费OA办公系统[2022-05-30]

    橄榄枝OA 致力协同办公OA 系统 自2001年开始研发,历经九年持续不断的研发,和数千客户的事实验证,系统精雕细琢,已经成为国内协同办公领域知名品牌。 基于E/3应用平台构建,能够满足客户传统、常用的协同办公管理需求,更继承了平台的二次开发能力、扩展能力、个性化能力以及系统整合能力,是构建:规范管理 提升企业执行力:新型办公环境和信息建设的最佳选择。 产品理念:平台化产品 人性化实施 技术体系:B/S应用体系、J2EE技术体系、支持MS SQL Server Qracle等大型数据库。 本次活动主要在“江 ...
  • 可以用Eclipse或者InteliJ IDEA 工程与包管理:用Maven (自动下载相应的jar包,在pom.xml里版本号自己定义,更新jar包方便) 框架:Spring + MyBatis (简称SM) 前台用: HTML + jQuery + AJAX + CSS 数据库:MySQL 或者 Postgre SQL Web服务器:Tomcat一般应用都能适应!
  • 哥们。这个你没有30W是买不到的。如果 好点的。可能要上百万哦。 国内比较流程的几个OA商 泛微 、明源、用友。 最好是自己开发吧。这样时间可能要长点。但是 做出来的东西更有自己的特色!
  • 你这问题问的。。。 J2SE是java用来做桌面程序开发的; J2EE是java企业级的开发,主要是Web开发,比如我们经常可以看的企业级宣传网站,公司办公的等等; J2ME是Java做移动终端程序开发的,也就是常说的Java 手机游戏之类的, OA系统可以用java做啊,我以前就做过, OA系统:办公自动化(OA)是面向组织的日常运作和管理,员工及管理者使用频率最高的应用系统,自1985年国内召开第一次办公自动化规划会议以来,OA在应用内容的深度与广度、IT技术运用等方面都有了新的变化和发展,并成为组织不 ...
  • 建议用哲程软件的《哲程协同办公系统》,可以找杭州哲程软件有限公司买,他们是正规OA厂商,实施和服务的团队很强。我们就是找他们买的,上线很快,目前使用也很稳定,售后服务好~买了软件能保证用起来这是很关键的~
  • Java是目前使用最广泛、发展最迅速、认同度最高的企业级应用开发技术。相对其他技术,它具有安全、开放、稳定、跨平台等突出优势。 Java技术是一套标准,它由诸多顶级公司和遍布全球的开发者一起支持,所以技术的通用性和标准性比较高,目前基本上成为企业级解决方案的事实标准。 可以跨平台的特性一直是Java的最大特点,它通过JAVA的JVM技术屏蔽了底层操作系统的细节,从而实现了所编写的代码可以在Windows平台上使用,也能够在其他平台(Unix,Linux)上使用。 目前用Java技术实现的企业级应用可以运行在 ...
  • 目前java语言是最稳定的,高端OA如用友泛微等,都是用java开发的,所有的语言见下面 OA软件的开发语言很多,目前较为常见的有ASP/PHP/.Lotu Domino/.Net/JAVA 五种语言,五种语言各有特色,其最鲜明的就是——他们代表了“计算机语言发展使用简史”。 1. ASP语言 ASP是微软的初始WEB产品,在97年左右推向市场,是最初较早的WEB语言技术,很多小型简单的网站都是用ASP语言开发的,由于是九十年代的产品,所以在计算机语言升级以后,其本身最大的一个问题就突显了出来其可扩展性比较 ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)