我想邀请您和我一起写Android(福利回赠)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://carsonho.blog.csdn.net/article/details/88737548

我是谁

  • carson_ho
  • 腾讯微信Android开发工程师,曾获得腾讯、今日头条、阿里巴巴等Android开发岗 offer
  • “CSDN” 签约作者、“稀土掘金” 专栏作者、“简书” 程序员专题作者
  • 原创文章200篇、阅读量300w

示意图


初衷

  • 有太多太多的读者在我的文章留言说想我开通一个Android微信公众号,于是最近开始在筹备相关事宜
  • 但是,我不知道,你们希望看到的是一个怎么样的Android微信公众号
  • 而我,也希望我的微信公众号是一个能满足各大Android开发者阅读需求、与市面上Android微信公众号与众不同、有特色的

示意图


我想邀请您和我一起写Android

  • 回归用户,才能真正满足用户。需要一个真正能满足各大Android开发者阅读需求的微信公众号,那我必须得了解你们的阅读需求
  • 所以,我诚心邀请我亲爱的粉丝或感兴趣的你们,希望能邀请您做第一批内测用户 & 根据您的反馈共同打造一个有特色的公众号
  • 请放心,内容很简单,不会耗费太多时间。

示意图


参与方式

为了更加精细化沟通、保证反馈质量:

  • 人数限制:50位活跃用户
  • 参与方式:下方评论一句你对我文章、博客的感想,我会从中挑选
    & 亲自私信邀请您参与。

示意图


福利回馈

  • 为了回馈参与的用户,我会将自己的一套Android学习方式回赠:《这是一份全面 & 详细的 Android学习指南》
  • 里面包括了 Android的知识图谱、学习路径 & 有效的学习方法,不仅能让你知道更加高效的学习Android不再迷茫,同时夹杂着面试技巧,让你拿到心仪的工作offer

示意图


欢迎关注carson_ho的微信公众号

  • 名称:carson带你解析Android
  • 作用:通过碎片化时间(上下班、饭前饭后等)带你高效、系统地学习Android知识

具体请看文章:我想给你们介绍一个与众不同的Android微信公众号(福利回赠)

  • 扫一扫关注即可

示意图

展开阅读全文

和我一样的初学者一起分享知识 大家一起提高!

11-30

Java学习路径三篇rnrnJava学习路径(一)工具篇rnrn一、 JDK (Java Development Kit)rnrn  JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。rnrn  1、 JDK的下载和安装rnrn  JDK又叫做J2SE(Java2 SDK Standard Edition),可以从Sun的Java网站上下载到,http://java.sun.com/j2se/downloads.html ,JDK当前最新的版本是J2SDK1.4.2,建议下载该版本的JDK,下载页面在这里:http://java.sun.com/j2se/1.4.2/download.html。rnrn  下载好的JDK是一个可执行安装程序,默认安装完毕后会在C:\Program Files\Java\目录下安装一套JRE(供浏览器来使用),在C:\j2sdk1.4.2下安装一套JDK(也包括一套JRE)。然后我们需要在环境变量PATH的最前面增加java的路径C:\j2sdk1.4.2\bin。这样JDK就安装好了。rnrn  2、 JDK的命令工具rnrn  JDK的最重要命令行工具:rnrn  java: 启动JVM执行classrnrn  javac: Java编译器rnrn  jar: Java打包工具rnrn  javadoc: Java文档生成器rnrn  这些命令行必须要非常非常熟悉,对于每个参数都要很精通才行。对于这些命令的学习,JDK Documentation上有详细的文档。rnrn  二、 JDK Documentationrnrn  Documentation在JDK的下载页面也有下载连接,建议同时下载Documentation。Documentation是最最重要的编程手册,涵盖了整个Java所有方面的内容的描述。可以这样说,学习Java编程,大部分时间都是花在看这个Documentation上面的。我是随身携带的,写Java代码的时候,随时查看,须臾不离手。rnrn  三、 应用服务器(App Server)rnrn  App Server是运行Java企业组件的平台,构成了应用软件的主要运行环境。当前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的Jboss,选择其中一个进行学习就可以了,个人推荐Weblogic,因为它的体系结构更加干净,开发和部署更加方便,是Java企业软件开发人员首选的开发平台。下面简要介绍几种常用的App Server:rnrn  1、 Tomcatrnrn  Tomcat严格意义上并不是一个真正的App Server,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些App Server的功能,如JNDI,数据库连接池,用户事务处理等等。Tomcat被非常广泛的应用在中小规模的Java Web应用中,因此本文做一点下载、安装和配置Tomcat的介绍:rnrn  Tomcat是Apache组织下Jakarta项目下的一个子项目,它的主网站是:http://jakarta.apache.org/tomcat/ ,Tomcat最新版本是Tomcat5.0.16,软件下载的连接是:http://www.apache.org/dist/jakarta/tomcat-5/v5.0.16/ 。rnrn  下载Tomcat既可以直接下载zip包,也可以下载exe安装包(个人建议zip更干净些),不管哪种情况,下载完毕安装好以后(zip直接解压缩就可以了)。需要设置两个环境变量:rnrn  JAVA_HOME=C:\j2sdk1.4.2rnrn  CATALINA_HOME=D:\tomcat4 (你的Tomcat安装目录)rnrn  这样就安装好了,启动Tomcat运行CATALINA_HOME\bin\startup.bat,关闭Tomcat运行shutdown.bat脚本。Tomcat启动以后,默认使用8080端口,因此可以用浏览器访问http://localhost:8080来测试Tomcat是否正常启动。rnrn  Tomcat提供了两个Web界面的管理工具,URL分别是:rnrn  http://localhost:8080/admin/index.jsp rnrn  http://localhost:8080/manager/html rnrn  在启用这两个管理工具之前,先需要手工配置一下管理员用户和口令。用一个文本工具打开CATALINA_HOME\conf\tomcat-users.xml这个文件,加入如下几行:rnrn  rn  rn  rnrn  这样用户“robbin”就具备了超级管理员权限。重新启动Tomcat以后,你就可以使用该用户来登陆如上的两个管理工具,通过Web方式进行Tomcat的配置和管理了。rnrn  2、 BEA Weblogicrnrn  Weblogic可以到BEA的网站上免费注册之后下载到Weblogic8.1企业版,License可以免费使用1年时间,其实这已经完全足够了。Weblogic的下载连接:http://commerce.bea.com/index.jsp,Weblogic的在线文档:http://edocs.bea.com/ 。rnrn  3、 IBM Webshperernrn  Websphere同样可以下载到免费的试用版本,到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料,developerWorks中文网站的连接是:http://www-900.ibm.com/developerWorks/cn/wsdd/ ,Websphere的下载连接:http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html 。rnrn  4、 Jbossrnrn  Jboss是免费开源的App Server,可以免费的从Jboss网站下载:http://www.jboss.org/index.html,然而Jboss的文档是不免费,需要花钱购买,所以为我们学习Jboss设置了一定的障碍。在Jdon上有几篇不错的Jboss配置文档,可以用来参考:http://www.jdon.com/idea.html rnrn  四、 Java应用的运行环境rnrn  Java的应用可以简单分为以下几个方面:rnrn  1、 Java的桌面应用rnrn  桌面应用一般仅仅需要JRE的支持就足够了。rnrn  2、 Java Web应用rnrn  Java的Web应用至少需要安装JDK和一个web容器(例如Tomcat),以及一个多用户数据库,Web应用至少分为三层:rnrn  Browser层:浏览器显示用户页面rnrn  Web层:运行Servlet/JSPrnrn  DB层:后端数据库,向Java程序提供数据访问服务rnrn  3、 Java企业级应用rnrn  企业级应用比较复杂,可以扩展到n层,最简单情况会分为4层:rnrn  Browser层:浏览器显示用户页面rnrn  Client层:Java客户端图形程序(或者嵌入式设备的程序)直接和Web层或者EJB层交互rnrn  Web层:运行Servlet/JSPrnrn  EJB层:运行EJB,完成业务逻辑运算rnrn  DB层:后端数据库,向Java程序提供数据访问服务rnrn  4、 Java嵌入式应用rnrn  Java嵌入式应用是一个方兴未艾的领域,从事嵌入式开发,需要从Sun下载J2ME开发包,J2ME包含了嵌入式设备专用虚拟机KVM,和普通的JDK中包含的JVM有所不同。另外还需要到特定的嵌入式厂商那里下载模拟器。rnrnrn 论坛

和我一起学习hibernate-1

01-07

[url=http://blog.csdn.net/abbuggy/article/details/7182770]原文链接[/url]rn引子rn面向对象程序设计中对于类、继承、多态、组成、聚合等概念和关系数据中的表、主键、外键等概念并不能直接对应。想要将对象持久化到关系数据库库中,需要进行转换。rn可以使用JDBC手动转换,不过工作量较大,不好维护。rn更方便强大的是借助成熟的对象关系映射框架(ORM,Object Relation Mapping)的支持进行对象持久化。rnHibernate是一个流行的ORM框架,此外还有iBatis ,Apache OJB,TopLink等。项目地址为www.hibernate.org,很多内容详细的内容可供参考。rn闲话不多说,从今天开始学起。rn我们使用hibernate的目的就是希望将程序中众多对象及他们之间的关系在内存和数据库之间方便的转化。rn换句话说,就是建立“内存对象”与“数据库记录“之间的”关系“。rn其中”内存对象“在hibernate中被叫做实体对象,是与程序中的对象,承载着业务数据信息。rn”数据库记录“是数据库表中的记录。rn”关系“是一系列的配置文件,来告诉hibernate这些实体对象是按照怎么样的规则与数据库中的表记录进行关联的。rn上一个小例子说明一下:rn这里有一个应用系统,根据当前的运行状况产生一些列的系统事件,这些系统事件需要被存放到数据库中。rn系统事件的实体类其实就是一个普通的JavaBean。包含事件发生的时间(date)和事件的描述(title)。rn增加一个id作为标示符以便使用hibernate提供的很多特性。其中id的set方法被设置为private,因为我们并不希望出了hibernate以外的程序修改这个属性。请放心,无论是public、protected还是private修饰符都可以被hibernate访问到。rn作为需要被持久化的实体类还需要拥有无参的构造函数以便hibernate通过反射机制构造这个对象。rn[code=Java]package mypackage.domain;rnimport java.util.Date;rnpublic class Event rnprivate Long id;rnprivate String title;rnprivate Date date;rnpublic Event() rnpublic Long getId() rnreturn id;rnrnprivate void setId(Long id) rnthis.id = id;rnrnpublic Date getDate() rnreturn date;rnrnpublic void setDate(Date date) rnthis.date = date;rnrnpublic String getTitle() rnreturn title;rnrnpublic void setTitle(String title) rnthis.title = title;rnrn[/code]rnHibernate 需要知道怎样去加载(load)和存储(store)持久化类的对象。这正是 Hibernate 映射文件发挥作用的地方。映射文件告诉 Hibernate 它应该访问数据库(database)里面的哪个表(table)及应该使用表里面的哪些字段(column)。rn我们建立一个名为Event.hbm.xml的映射文件(省略了xml的dtd声明)rnpackage属性指定包名,name标签指定类名,table标签指定这个类对应的表名。如果不写table属性,默认的表名为类名+s。rn[code=XML]rnrnrn[/code]rn接下来配置实体类中的各个属性。id 元素是对标示符属性的声明。name标签说明当前要配置的属性名称是id并告诉Hibernate 使用 getId() 和 setId() 方法来访问这个属性。column 标签说明EVENTS表中的EVENT_ID字段与这个属性对应。标签来指定标示符的生成策略,后面会学到,在这里可以理解为有hibernate帮你生成这个值。rn[code=XML]rnrnrnrnrn[/code]rn类中的其他属性如date和title属性使用元素配置。rn[code=XML]rnrn[/code]rn注意:date属性的type标签被设置为""timestamp"而title 属性没有配置type标签。我们在映射文件里type标签中填入的既不是Javarn 数据类型,也不是 SQL 数据库的数据类型,而是Hibernate 映射类型(mapping types)。即把在 Java 数据类型与 SQL 之间的类型。如果在映射文件中没有设置 type 属性的话,Hibernate 会自己试着去确定正确的转换类型和它的映射类型。某些情况下需要我们显式配置,如这里的datern 属性就是个很好的例子,Hibernate 无法知道这个属性(java.util.Date 类型的)应该被映射成SQL类型中的 date(年月日),或 timestamp(年月日时分秒),还是 time(时分秒)。在此例中,把这个属性映射成rn timestamp ,以便记录日期和时间。rn想让hibernate运转起来,还需要对其进行简单的配置。其方法有三:程序配置,properties文件配置,xml文件配置。rn一般来说习惯用xml配置功能强大又灵活。rn[code=XML]rnrnrncom.mysql.jdbc.Driverrnrnjdbc:mysql:///testrnsarnsarnrnorg.hibernate.dialect.MySQLDialectrnrntruernrnrnrn[/code]rn就差最后一步了,在程序中读取各个配置文件并初始化会话工厂!这里使用了工厂模式,刚才咱们写的那些配置文件就好比设计图。把设计图交给工厂,工厂给我们源源不断的这造出连接数据库的接口(session)。很显然工厂不能随便重复建设,只要一个就够了。每当我们需要与数据库交互时,向工厂要一个会话并在使用完毕后丢弃。rn[code=Java]package mypackage.util;rnimport org.hibernate.SessionFactory;rnimport org.hibernate.cfg.Configuration;rnpublic class HibernateUtil rnprivate static final SessionFactory sessionFactory = buildSessionFactory();rnprivate static SessionFactory buildSessionFactory() rntry rn// configuration实例的configure()方法会调用classpath根目录下的hibernate.cfg.xml文件rnreturn new Configuration().configure().buildSessionFactory();rnrncatch (Throwable ex) rnex.printStackTrace();rnrnrnpublic static SessionFactory getSessionFactory() rnreturn sessionFactory;rnrn[/code]rn下面我们向数据库中持久化Event对象。rn[code=Java]Session session = HibernateUtil.getSessionFactory().getCurrentSession();rn//开启事务rnsession.beginTransaction();rn//创建并设置实体类rnEvent theEvent = new Event();rntheEvent.setTitle("event1");rntheEvent.setDate(new Date());rn//持久化实体类rnsession.save(theEvent);rn//提交事务rnsession.getTransaction().commit();[/code]rn那么,如何将数据记录读出呢。这里使用了HQL语句,它有点类似SQL但其非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态和关联之类的概念。不要急后面会学到。rn[code=Java]Session session = HibernateUtil.getSessionFactory().getCurrentSession();rnsession.beginTransaction();rnList result = session.createQuery("from Event").list();rnsession.getTransaction().commit();rnreturn result;[/code]rn通过这个最简单的例子我们对如何进行hibernate进行对象持久化有了一个初步的了解。后面我们会更加深入学习个中细节,一起努力吧!rn[url=http://blog.csdn.net/abbuggy/article/details/7182770]原文链接[/url] 论坛

没有更多推荐了,返回首页