Java 学习历程

2023-11-09

最近论坛上看到好几个朋友都在问,如何学习 Java的问题,”我已经学习了J2SE,怎么样才能转向J2EE?”, “我看完了Thinking in Java, 可以学习J2EE了么?”.于是就有了写这篇文章的想法,希望能帮助初学者少走一些弯路。也算是对自己几年来学习Java的一个总结吧.

  在开始之前有必要再讨论一下J2ME, J2SE, J2EE这些概念。J2SE, The Micro Edition of the Java 2 Platform. 主要用于嵌入式Java,如手机,PDA等等。J2SE, Java 2 Platform, Standard Edition, 我们通常所说的JDK(Java Development Kit)包含在此,是J2EE的基础。J2EE, Java 2 Platform, Enterprise Edition , 就是所谓的企业级Java. 这些只是从API级别上的划分,实际上Sun给J2EE的定义是:开发基于组件的多层的企业级应用的规范。也就是为各种不同的技术定义一个Java的规范,使这些不同的技术结合起来,在Java平台上构建强壮的企业级应用。从这一点来看,J2EE这个概念应该是涵盖J2ME, J2SE的。比如一个典型的J2EE应用,网上商店, 它支持web 方式下订单,也支持手机下订单。显然必须用到J2SE,J2ME. 所以也就不存在所谓的从J2SE转向J2EE的问题了,只是后者包含的范围更广而已。

来看看Sun给出的J2EE 相关技术主要分为几大块。
1. Web Service技术
-  Java API for XML Processing (JAXP)
-  Java API for XML Registries (JAXR)
-  Java API for XML-based RPC (JAX-RPC)
-    SOAP with Attachments API for Java (SAAJ)

2. 组件模型技术(Component Model Technologies)
-  Java Servlet
-  JavaServer Pages
-  JavaServer Faces
-  Enterprise JavaBeans
-  Java Message Service
-    J2EE Connector Architecture

3 .管理技术(Management Technologies)
-  J2EE Deployment Specification
-  J2EE Management Specification
-  J2EE Client Provisioning
-    Java Authorization Contract for Containers

4.其他相关技术(Other J2EE Technologies)
-  JDBC
-  Java Data Objects (JDO)
-  CORBA (Java IDL and Java RMI-IIOP)
-  JavaMail
-  Transactions
   如此之多的技术难免使初学者无所适从,望而却步。即使是一位经验丰富的J2EE 开发者,又有几个人敢说J2EE相关的技术我都熟练掌握了。不过作为一名普通J2EE应用程序的开发者来说,我们只需要重点学习其中的一部分技术就可以了,对于其他部分只要做到心中有数,哪天需要用到了知道跑哪里去找到资料就行了。以我个人的观点,下面这些技术是一般J2EE应用开发人员所必须熟练掌握的。Java Server Page, Java Servlet, Enterprise JavaBean, JDBC, Transactions.  还有JAXP等XML相关技术,Java Message Service, Java Mail, JDO等等是最好应该掌握的。其他Management Technologies,Connector Architecture等等主要是给容器提供商中间件提供商参考的,应用开发者不需要怎么关心,等用到了再去学习也不迟.

语言学习篇
  首先是J2SE基础.学习一门新技术,无外乎阅读和实践了. 而一本好的参考书对于初学者来说显得格外重要. 现在市面上的 Java书籍可以说是铺天盖地, 质量也是良莠不齐, 令初学者无所适从. 所以还是先推荐几本书籍吧. 目前对于 Java基础知识,大家一般都比较推荐两本书, <<Thinking In Java>> 和 << Core Java(TM) 2, Volume I?Fundamentals >>.  第一本书不必多说了, Bruce Eckel 的大作, Jolt获奖书籍. 内容比较全面, 基本涵盖了java语言的方方面面. 这本书提供了相当丰富的例子, 非常有利于对学习内容的了解. 另外书中第一部分对于OO基本书籍的介绍, 我觉得对于刚接触OO的人来说帮助会很大. 而且此书是Open Source的, 可以从作者网上下载http://www.mindview.net/Books/TIJ/而对于习惯于读中文版的学习者来说, 侯捷翻译的中文版是不错的选择.  要说这本说的缺点可能就是对于初学者来说厚了一点, 这也是一些人并不推荐此书作为初学者学习用书的原因吧. 后面一本<<Core Java(TM) 2, Volume I?Fundamentals>>, 目前已经是第七版了, 单从它出版的次数来看也可以看出此书受欢迎的程度, 这本书特点也是讲述比较全面系统, 基本上一路啃下来的话Java语言基础应该算过关了. 缺点也是太厚了, 有点像参考手册, 前面部分花了不少篇幅讲  Swing和Applet,可能对初学者不是很有用.  还有一些像<< Java in a nutshell>>也是比较不错的基础书籍.
学习了基本的语言基础,别忘了最重要也是最有用的资料还是JDK文档. 从你学习java的第一天开始JDK文档应该是常备手头了. 如果你碰到问题首先想到的是到论坛上去提问而不是查阅Jdk文档, 那先别继续往下学习了,学会查JDK文档先. 不夸张的说在我们的初学者论坛中60%的问题是光查一下JDK文档就能解决问题的. 最新JDK Documentation下载地址http://java.sun.com/j2se/1.4.2/download.html(目前最新版是J2SE5 http://java.sun.com/j2se/1.5.0/download.jsp)不能光说不练, 同一下载页面把JDK给下载回来. 安装完后有一点我想提一下, 安装路径下有一个src.zip(有些jdk版本是src.jar), 好东西啊---JDK源代码, 老是有人在论坛上问哪里有JDK源代码下载, 你说东西就放在你家里还到处找. 有了这个有些问题就需要在论坛上跟人家争来争去了,翻开源代码瞧一下什么疑问都没有了. 几个最重要的命令行工具是
javac  : 编译源文件到class文件
java:     运行class
jar : 打包工具.
Javadoc :  生成java doc的工具.
对于初学java的人来说, 我不推荐使用IDE而 直接用文本编辑器, 然后用命令行编译运行. 这样有利于理解CLASSPATH, PATH这些最基本概念. CLASSPATH是初学者比较容易感觉迷惑的地方.现在的 IDE太聪明了, 给个名字就给你自动生成java source code, 自动编译. 可能你运行完了你的第一个Hello World 程序, 还不知道java 和 javac是用来做什么的. 至于实际的项目开发, 一款合适的IDE还是十分重要的, 我们稍后再对java 开发工具做一些介绍.


J2EE 基础和Java语言进阶

   学习完语言基础, 就可以比较自然地转入J2EE实际技术的学习了. J2EE实在是比较庞杂, 而EJB, Servlet , 这些核心技术是作为每一个J2EE开发人员所需要掌握的. 关于servlet,  我比较推荐<<Core Servlet and JSP 2Edition>>和<<More Servlets and Java Server Pages>>, 第一本是Sun推荐的Servlet教材. 第二本是当年Amazon最畅销Java书籍, 五星级书籍. 这本书机械工业出版社有中文版叫<<Servlet 与JSP权威指南>>,感觉翻译得还可以, 第二版好像还没有看到有中文版. 两本书都全面系统地介绍了JSP和Sevlet知识, 从web服务器配置, JSP, Servlet基本编程, 标记库(Tag Lib), 过滤器, 事件框架都有很好地描述. 提供地例子也比较实用. 对于EJB学习, 比较著名有两本书, << Enterprise JavaBeans, 3nd Edition>> 和<< Mastering Enterprise Java Beans Third Edition>>, 两位作者Richard Monson, Ed Roman都是属于业界重量级人物.而Richard Monson本身就是EJB规范专家组成员.对我来说, 两本书难分优劣, 第二本书有个好处就是可以免费下载http://www.theserverside.com/books/wiley/masteringEJB/index.tss.
还是那句话,不能光说不练, 不过J2EE 的练习做起来有一点麻烦, 应用服务器是不可少的, 最好还得准备个轻量级的数据库. 下面简单介绍一下这些工具.
web服务器(Servlet Container)方面有.
Tomcat.   http://jakarta.apache.org/tomcat/
Jetty:      http://jetty.mortbay.org/jetty/
应用服务器常用的有,
Jboss:        http://www.jboss.org/products/index
Weblogic:   http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/server
WebSphere: http://www-128.ibm.com/developerworks/downloads/ws/was/?S_TACT=105AGX28&S_CMP=DLMAIN.
Tomcat, Jetty, Jboss都是Open Source. Weblogic 和 WebSphere是J2EE服务器中的老大级人物, 价格也不菲. 不过对于开发者有免费的试用版下载.
如果单单只是学习Servlet, 推荐使用Tomcat, 它是Sun官方指定的Servlet, JSP规范的参考实现.. 对初学者最重要的是它使用比较简单, 自带文档比较齐全, 使用者众多, 有什么问题容易在论坛上面得到帮助. 如果学习EJB的话, 推荐使用Jboss, 不仅仅是因为它是Open Source的,主要是配置比较简单, 使用方便. 比如说对于连接数据库, 对于常用的MySQL, Oracle , MS SQL等等都提供了Sample Config文件, 直接拿过来做些小改动扔到Deploy目录下就可以用 DataSource了, 部署J2EE应用也简单, 把整个 .ear或者.war扔到deploy下就可以了. 唯一不方便的地方是从 Jboss3.0开始, 它的文档开始收费了. 但是对于一些基本的配置, 在网上还是非常容易找到的, 毕竟它太流行了. 至于 Weblogic, 也比较容易使用, 不过比起Jboss来个头大了很多, 通过强大的管理界面使得一些常用的配置工作变得十分简单.  和Jboss比起来它的文档就太多了, 简直是有点罗里八嗦, 比如要部署一个.ear文件, 一般我们也就是直接扔到domain下的applications目录下就会自动deploy了, 但是要看它的文档可是长篇大论, 容易吓着初学者, 以为这又是什么高深的学问. 至于WebSphere, 个人不推荐初学者使用, 相比前俩个Server比较难使, 而且狂吃内存.不过在企业级市场这个家伙表现不俗, 毕竟是出生于IBM这样的豪门.
数据库方面, 目前常见的主要有PostgreSQL, MySQL, Oracle, MS SQL, DB2等等.前面两个是开源数据库, 后面几个基本上垄断着大部分的数据库市场. 对于初学者用来做做EJB, JDBC的练习, 我推荐MySQL, 理由还是很简单, 开源软件不要钱, 个头小使用方面, 用户众多文档齐全. 下载地址http://www.mysql.com/products/mysql/.  PostgreSQL也可以考虑, 不过国内使用者远不如MySQL多, 所以要在论坛上问起问题来就少方便一些了, 下载地址http://www.pervasive-postgres.com/downloads/. 至于后面那些比较重量级的数据库, 为了做做练习而言就不用考虑了, 咱也花不起这个钱啊.

学习完J2EE 的这些具体技术, 这个时候进行基本的 J2EE 开发应该是不成问题了. 此时应该考虑提高自己的代码质量了. 这里我强烈推荐Martin Fowler的<<Refactoring: Improving the Design of Existing Code >>, 这本书不是一本非常实际的书, 作者完全是手把手地教你如何提高代码质量, 从具体地代码中告诉你什么是代码的Bad Smell, 如何去掉这些Bad Smell. 不少书评是这么说的, 这本书对于初级,中级的读者帮助是立杆见影的.至少 就我接触到的几个学习编程不久的程序员, 编码质量在短期内都有很大提高. 当然重构(Refactoring)这一概念并不只针对Java语言的, 它对所有OO语言都是适用的. 重构的概念是如此深入人心,以至于今天几乎所有流行的 IDE工具都有对重构的支持. 这里我还想再推荐一本<<Effective Java>> . 从C++ 过来的程序员都知道<<Effective C++>>在C++领域的地位, 至今还流传着这样的趣话, C++程序员分为两种, 一种是读过<<Effective C++>>的, 另一种是没有读过C++的. 虽然这本<<Effective Java>>在Java领域的影响也许没有那么大, 但对于Java程序员绝对有相当的指导价值. 作者是Sun公司的Joshua Bloch,  java Collection framework 的设计者. 作者站在JDK设计者的角度向你介绍他的Best Practice, 应该这样做而不应该那样做, 对于JDK中某些API设计的缺陷他也毫不袒护的指出. Java语言之父James Gosling为此书写的前言是这么说的” I sure wish I had had this book ten years ago. Some might think that I don't need any Java books, but I need this one”. 这本书会让你觉得原来你对Java还是有很多东西不了解的. 举个例子来说, 对象的equals方法, 我们认为它很简单, 也许你每天都在为你新写的Class重载这个方法, 但是你在重载的时候注意过“自反”, “对称”, “传递”这些必须要考虑的因素, 你是否同时还小心谨慎的重载了hashcode这个方法? 如果没有, 建议你要读一下这本书. 读完这本书,你会觉得离Java的距离更近了. 上面两本书都出过中文版, 后面一本<<Effective Java>>还有两个版本的中文版, 第一次翻译的比较差一点, 后来机械工业出版社 又委托潘爱民先生重新翻译了一遍.同一本书在同一个出版社连续被翻译了两次也说明国内出版界对这本书还是比较重视的. 
这个阶段, 在看书的同时, 可以结合着学习一些优秀的开源项目的源代码. 这些开源项目的代码风格, 注释都是值得借鉴的. 实在太懒也别忘了手头上还有个Jdk的源代码. 其实也不用刻意去找源代码, 在实际的J2EE项目开发中, 基本上都会用到一些优秀的开源项目.  Framework可能会用到Spring, Struts, Log机制基本上都会JarkartaCommons Log或者Log4j,  单元测试会大多会用Junit, 结合项目阅读一下其中的一些源代码, 既可以提高自己又对项目会有所帮助, 说不定因此而得到PM的赏识呢. 一举两得, 何乐而不为呢. 呵呵, 有点扯远了. 过了初学者阶段,该学会如何找到适合自己的Java书籍了. 历经数十载, 今天的Java技术已经变的如此之庞杂, 我相信即使穷净一个人毕生之精力也不可能把Java所有的相关技术都学通, 何况新技术还在层出不穷地推出, 3年之前谁会知道Struts会成为Web框架事实上的工业标准. 2年之前谁会知道Hibernate会在今天独领风骚.  既然已经不能指望一次性把java技术的方方面面都学个通, 在实际中也只能是需要什么技术再学习什么技术了. 而能否选择一本好的参考书籍带来的就是事半功倍和事倍工半 的效果. 所以我觉得花点时间放在选择书籍上面还是很值得的, 否则你在后面只会花更多的时间. 下面我谈谈自己选择书籍的一些经验, 不一定正确. 首先看作者, 像上面提到的那些书的作者, 都是业界鼎鼎大名的, 选择他们的书一般错不了. 大家看的书多了, 自己胸中自然也会有一个list, 哪些作者是信得过的.二看出版社, 计算机书籍方面,  Oreilly, Addison-Wesley都是公认比较好的出版社. 对于目前比较流行的Java技术, Oreilly的<<XXXX  in  Action>>系列是不错的选择. 另外我还会去看看Amazon网站(http://www.amazon.com/)的书评, 一般小于3星级的书我都不会考虑. 还有一个好去处theserverside,http://www.theserverside.com/的书评, 这里的书评比较有趣,往往都有很激烈的争论, 里面经常会看到一些名人在发言.我要向所有Java 学习者推荐, 如果我的收藏夹里面只能存放两个网站,我会选择java.sun 和theserverside. 在这里你可以了解最新的Java动态, 可以学习第一手的Java资料, 可以看到Java高手们(里面不乏业界大腕)激烈辩论.
到此阶段, Java Developer的基本功底应该算是打好了吧,往后就是不断学习喽. 结束这一段之前,最后再介绍一本书Oreilly 的<<Java Threads, Second Edition >>, 因为我觉得多线程编程属于 Java基本功, 每一个想学好Java的人都应该好好掌握.

 

提高篇
在这个阶段应该从软件架构, Framework层次上来学习了. 作为面向对象的圣经<<Design Patterns>>, 这本书是不得不推荐的. 不用再多说了, 这本在面向对象领域地位完全是属于教父级别的.  不管你学习的是什么OO语言, 不管你现在是用.Net还是J2EE开发, 这本书都是你进阶之路上的必读之书. 而<<Core J2EE Patterns>>则专门针对于J2EE来讨论设计模式, 书中Sun Java Center的资深设计师描述了J2EE关键技术的模式. 最佳实践,设计策略和经过验证的解决方案. 对于每一个希望成为J2EE 架构师或者设计师, 这本书值得一读. 学习设计模式的时候,建议是结合实际的源代码来看, 比如看看Junit源代码, 你可以看到很多设计模式优雅的实现, 作者之一Erich Gamma本身 就是<<Design Patterns>>的作者. 至于J2EE的设计模式, Sun还开辟了专门的空间http://java.sun.com/blueprints/patterns/,  里面有对常用模式的讨论又提供了详细的源代码样例. 正如Grady Booch所说, 模式对于普遍问题提供了通用的解决方案, 利用模式就等于拥有一个强大的专家队伍.  如果你还没有学习, 现在就开始吧. 此外对于面向对象方法论, 极限编程的思想也应该有所了解http://www.extremeprogramming.org/ . 对于J2EE项目的具体实施, Rod Johnson的<<Expert One-on-One J2EE Design and Development (Programmer to Programmer)>>也很有价值, 该书以作者丰富的实战经验向我们展示如何用尽可能简单的解决方案构建J2EE 应用, 书中作者第一次提出这样的观点, 很多时候, J2EE应用完全没有必要用到EJB, 对于言必称EJB的广大J2EE开发者来说, 怎么说也有点惊世咳俗的味道. 当然, 作为Servlet和JDO两个专家组的成员, 这可不是作者信口胡驺的. 今天风靡Java世界的Spring 框架最初便是源于此书, 而IOC, AOP等概念更是被时下的java开发者挂在嘴边. 最后, 作为对Java的深入学习, Java技术的各个Specification也有必要一读. 暂时就写到这里吧.

 

 

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

Java 学习历程 的相关文章

  • Tomcat 7 停止接收 HTTP 请求

    我有一个Tomcat 7接收大量数据的服务器GET 要求 这种方法在一段时间内效果很好 然后突然停止工作 7 8 小时后 当它停止工作时 我收到此错误 五月 06 2015 12 47 58 AM org apache coyote htt
  • 有没有一种独立的JAVA可以在PC上运行而无需任何操作系统

    据我所知 java 程序可以在任何操作系统上运行 任何类型的机器都有 JVM 我需要一个在我的 PC 上独立运行的 JVM 而不是在我的操作系统 Windows 或任何其他操作系统 上运行 我的意思是 JVM 的作用类似于启动 而不是操作系
  • 超立方体错误。非法的最小或最大规格

    尝试从这里运行示例代码http tess4j sourceforge net codesample html http tess4j sourceforge net codesample html我收到一条错误消息 Error Illega
  • 删除 PriorityQueue 的顶部?

    假设我使用 Java util 中的 PriorityQueue 类 我想从 PriorityQueue pq 中删除最大的数字 我们假设它位于队列的头部 下面的工作会起作用吗 1 int head pq peek pq dequeue h
  • 在 Postgres 中为特定查询设置 work_mem

    我正在使用一个委托给 JDBC 驱动程序的库PostgreSQL 而且有些查询非常复杂 需要更多内存 我不想设置work mem对于所有查询来说都是大的 只是这个子集 问题是执行以下代码会导致错误 pseudo code for what
  • 如何使用 Java 本机接口将字节数组传递到以 char* 作为参数的 C 函数中?

    所以我需要使用JNI从java调用C函数 当传入不同的数据类型 创建本机变量 头文件 共享库等等 时 我已经能够成功地做到这一点 但无法让它与字节数组一起使用 这是我的 C 函数 include
  • jUnit 中每个 @Test 的不同拆卸

    有没有办法为 jUnit 中的每个 Test 定义不同的拆卸 Use the After注释来指示每个之后要运行的方法 Test 像这样的全套注释是 BeforeClass 首先 Tests are run Before 在每个之前 Tes
  • 在 IIS 中运行 Java Web 应用程序

    有人找到了在 IIS 中运行 Java Web 应用程序的方法吗 在我看来 编写一个将 Jetty 或自定义 servlet 容器与 IIS 集成的 ISAPI 插件 这个词正确吗 应该是完全可能的 这样做的好处是 许多优秀的高端 Java
  • GWT 代码服务器在使用 Maven 原型的新生成的项目中找不到模块

    我已经使用 GWT 和 eclipse 一段时间了 我想玩一下 Maven 和 GWT 插件 gwt maven plugin 在此输入链接描述 http mojo codehaus org gwt maven plugin 我尝试在 Ec
  • Android Studio 中没有参考文档

    昨天刚刚出现了一个新问题 当我将鼠标悬停在方法上或按 Ctrl Q 时 我通常会获取该特定方法的文档信息 但现在我只是得到 按 Ctrl QSharedPreferences getLong Following external urls
  • 如何暂停程序直到按下按钮?

    我使用从 jframe 扩展的类 它有一个按钮 我在程序中使用它 我希望当在我的程序中运行 jframe 时我的整个程序暂停 直到我按下按钮 我该怎么做 in c getch 做这个 我想要一个这样的功能 通过睡眠暂停执行 http dow
  • 测试正确的时区处理

    我们正在处理大量数据 所有数据均以 UTC Java 语言 标记 在读取这些数据 将其存储在数据库中以及再次将其取出之间 发生了一些数据在夏令时期间关闭一小时的情况 由于 UTC 没有夏令时的概念 这显然是软件中的一个错误 一旦知道 就很容
  • 为什么我用Java计算的结果是错误的?

    我使用这段代码来计算一些东西 但几乎在所有情况下结果都是 0 0 为什么 编译器中没有警告或错误 private void jButton1ActionPerformed java awt event ActionEvent evt try
  • 如何修复 java.lang.ClassNotFoundException: org.springframework.boot.configurationprocessor.json.JSONException 错误?

    当我在生产环境中将 Spring Boot 服务作为 Windows 服务运行时 出现以下错误 服务exe的创建者是Jar2exe https www jar2exe com java lang reflect InvocationTarg
  • 清单合并失败:需要为 显式指定 android:exported

    我的清单文件有问题 错误消息 清单合并失败 android 需要为 明确指定导出 面向 Android 12 及更高版本的应用需要指定显式值android exported当相应的组件定义了意图过滤器时 有关详细信息 请参阅 https d
  • 选择活动时运行时崩溃

    首先我想说我几乎没有 Android 经验 这是我在 Android 中的第一个项目 而且我的老师不太擅长教学 所以我对任何过度的无知表示歉意 在进一步讨论之前先解释一下 我的应用程序的目标本质上是能够记录您在某些活动上花费了多少时间 记录
  • 嵌套异常是java.lang.NoClassDefFoundError:无法初始化类org.springframework.jdbc.support.SQLErrorCodesFactory

    我正在使用 spring 和 jdbctemplate 编写一个应用程序 但是我遇到了以下错误 org springframework web util NestedServletException Handler processing f
  • 如何列出所有已加载的 Spring bean 定义文件

    在大型企业系统中 并不总是清楚在 ApplicationContext 构建期间导入了哪些文件 有没有办法列出过程中加载的所有文件 我知道如何列出加载的属性文件 但不知道导入的 bean 文件 更新示例 文件 1 applicationCo
  • Selenium 查看鼠标/指针

    有什么方法可以在运行测试时真正看到硒鼠标吗 要么是 Windows 光标图像 要么是某种点或十字线或任何东西 我正在尝试使用拖放功能selenium and java in an HTML5Web 应用程序 并且能够看到光标以了解它实际在做
  • 为什么我得到:没有有效的 JFX 运行时

    我有一个使用 java 1 6 编译并使用 jnlp webstart 运行的现有应用程序 如果我使用 JRE 1 6 从客户端运行此应用程序 一切都会很好 但是 当我使用 java JDK 7 编译代码并使用 JRE 1 7 67 运行客

随机推荐

  • 有哪些因素影响服务器的访问速度

    在网络环境下 根据服务器提供的服务类型不同 分为文件服务器 数据库服务器 应用程序服务器 WEB服务器等 一些对服务器的了解不够深入的朋友 会认为服务器的配置越高 服务器的访问速度就会越快 这句话有一定的道理 但是服务器的配置高低只是影响服
  • 计算机视觉项目实战-图像特征检测harris、sift、特征匹配

    欢迎来到本博客 本次博客内容将继续讲解关于OpenCV的相关知识 作者简介 目前计算机研究生在读 主要研究方向是人工智能和群智能算法方向 目前熟悉python网页爬虫 机器学习 计算机视觉 OpenCV 群智能算法 然后正在学习深度学习的相
  • android中下拉菜单的制作(详解)

    在我们的android中下拉菜单的制作有两种的方法 1 一种的方式就是通过我们的布局文件的方法制作 2 第二种方式就是通过我们的java代码的方式制作 第一种方式
  • deepin 20.2版本亮度调节问题暂时解决方案

    可在设置 gt 键盘和语言 gt 快捷键 中设置自己需要的快捷键 建议alt 1和alt 2这两个 与现有快捷键没有冲突 使用原来的快捷键会提示冲突 如果覆盖了设置可能会使原来的快捷键失效 分别添加下面的命令 降低亮度 echo your
  • Anaconda 换源与更新

    参考 Windows下Anaconda安装 换源与更新 里面很详细介绍了 conda 的更新 与 Anaconda 的更新
  • Node.js入门笔记(一)——环境问题和版本号问题

    Node js入门笔记 一 1 node js的版本管理工具 nvm 2 npm全局安装和局部安装 3 开发环境安装与生产环境安装 4 其他常用的npm语法 5 版本号里面的讲究 6 npm上传包 其实就是寒假比较无聊搭了这个自己的博客网站
  • Visual Studio+VAssistX自动添加注释

    1 增加函数头注释 右击函数名 然后依次点击 Refacto gt Document Method 这个时候函数头注释就会蹦出来 不过这个注释的格式是默认的 想修改注释格式 可以通过以下方法 点击 VAssistX gt Visual VA
  • IE下载文件时,中文文件名乱码问题

    经排查 Content Disposition中的filename进行了两次URL转码 以汉字漫为例 第一次转码 漫变为 E6 BC AB 第二次转码 E6 BC AB变为 25E6 25BC 25AB 第二次转码时 因为 是特殊字符 所以
  • word2vector学习笔记(一)

    word2vector学习笔记 一 最近研究了一下google的开源项目word2vector http code google com p word2vec 其实这玩意算是神经网络在文本挖掘的一项成功应用 本文是看了论文 Distribu
  • Spring中如何在一个Bean中注入一个内部Bean呢?

    转自 Spring中如何在一个Bean中注入一个内部Bean呢 在日常开发中 有些实体类的定义 一个类中包含了另一个类 那么在Spring Bean中 同样也有此种操作 下文将讲述使用xml配置文件的方式注入内部bean的方法 实现思路 使
  • 经典面试题 为什么要用 Docker

    经典面试题 为什么要用 Docker 解决面试题 斩获心仪的 Offer 文章目录 经典面试题 为什么要用 Docker 一 Docker是什么 二 Docker 的优势 1 更高效的利用系统资源 2 更快速的启动时间 3 一致的运行环境
  • T检验python实现

    from scipy import stats import numpy as np 方差齐性检验 方差反映了一组数据与其平均值的偏离程度 方差齐性检验用以检验两组或多组数据与其均值偏离程度是否存在差异 也是很多检验和算法的先决条件 np
  • 深度学习之基于Xception实现四种动物识别

    本次实验类似于猫狗大战 只不过将两种动物识别变为了四种动物识别 本文的重点是卷积神经网络Xception的实践 在之前的学习中 我们已经实验过其他几种比较常用的网络模型 但是Xception网络并未实践过 在弄本科毕设的时候 一个好朋友的毕
  • bukku ctf(刷题2)

    bugku ctf 抄错的字符 简单取证1 这是一张单纯的图片 计算器 GET POST 矛盾 alert 你必须让他停下 signin Easy Re 游戏过关 Easy vb 树木的小秘密 Timer 阿里CTF 抄错的字符 Crypt
  • Handler进阶之sendMessage原理探索

    Handler进阶之sendMessage 本文主要进一步的探索Handler 主要介绍下Handler是如何发送消息的 用过Handler的想必对以下几个方法都不会陌生 sendMessage Message msg 立刻发送消息 sen
  • Jdk下载和安装

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 下载JDK 二 安装JDK 三 配置环境 四 检验安装 前言 学习java第一步 写java文件都需要配置java环境 提示 以下是本篇文章正文内容 下面
  • 嵌入式-术语解释(不定时更新)

    饱和操作 饱和运算 饱和运算 就是当运算结果大于一个上限或小于一个下限时 结果就等于上限或是下限 饱和加法 a b c 当计算结果大于c可表示的最大值或者小于c可表示的最小值时 计算结果取值为这个最大值或最小值 非饱和加法 a b c 如果
  • LINQ的技术演进

    以一个简单的例子来说明 var developersUsingCSharp from d in developers where d Language C select d Name 1 提供对IEnumerable
  • 基于MATLAB编程的PCA改进GA-BP回归分析

    目录 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数 BP神经网络的传递函数 PCA的定义 遗传算法的原理及步骤 基于遗传算法改进BP神经网络的二分类 代码 效果图 结果分析 展
  • Java 学习历程

    最近论坛上看到好几个朋友都在问 如何学习 Java的问题 我已经学习了J2SE 怎么样才能转向J2EE 我看完了Thinking in Java 可以学习J2EE了么 于是就有了写这篇文章的想法 希望能帮助初学者少走一些弯路 也算是对自己几