gacl

Android开发学习总结(五)——Android应用目录结构分析

纵饮孤独 提交于 2020-08-20 08:10:19
Android开发学习总结(五)——Android应用目录结构分析 一、手动创建android项目   手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t 1 -p E:/Android/workspace/Helloworld -k me.gacl.helloworld -a Helloworld   上面的命令中,-n指定项目的名称,-t指定android平台,-p指定项目存放路径,-k指定项目包名,-a指定Activity名称。   使用命令 android list targets 可查看可选的android平台,如下图所示:      由于我使用SDK Manager只下载了最新版本的Android5.0.1和Google Inc,因此"android list targets"命令查看到的可选的android平台就只有2个,可以看到,1对应的target是android-21,也就是Android 5.0.1。   运行上面的命令可以在E:/Android/workspace/Helloworld目录下创建一个Android项目,如下图所示:      生成的Android项目的目录结构如下图所示:    二、Android目录结构说明   HelloWorld     

MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

本秂侑毒 提交于 2020-08-14 10:53:05
MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作   上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作。本文中使用到的测试环境是上一篇博文中的测试环境。 一、使用MyBatis对表执行CRUD操作——基于XML的实现 1、定义sql映射xml文件   userMapper.xml文件的内容如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀) --> <mapper namespace="me

MyBatis学习总结(一)——MyBatis快速入门

不想你离开。 提交于 2020-08-13 18:43:05
MyBatis学习总结(一)——MyBatis快速入门 一、Mybatis介绍      MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 二、mybatis快速入门 2.1、准备开发环境 1、创建测试项目,普通java项目或者是JavaWeb项目均可,如下图所示:    2、添加相应的jar包   【mybatis】   mybatis-3.1.1.jar   【MYSQL驱动包】     mysql-connector-java-5.1.7-bin.jar     3、创建数据库和表,针对MySQL数据库   SQL脚本如下: create database mybatis; use mybatis; CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT); INSERT INTO users(NAME, age) VALUES('彼岸花开', 27); INSERT INTO users

java基础学习总结——super关键字

巧了我就是萌 提交于 2020-08-05 04:29:35
java基础学习总结——super关键字 一、super关键字      在 JAVA 类中 使用 super来引用父类的成分,用this来引用当前对象 ,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。 1.1.super关键字测试 package cn.galc.test; /** * 父类 * @author gacl * */ class FatherClass { public int value; public void f() { value=100; System.out.println("父类的value属性值="+value); } } /** * 子类ChildClass从父类FatherClass继承 * @author gacl * */ class ChildClass extends FatherClass { /** * 子类除了继承父类所具有的valu属性外,自己又另外声明了一个value属性, * 也就是说,此时的子类拥有两个value属性。 */ public int value; /** * 在子类ChildClass里面重写了从父类继承下来的f()方法里面的实现,即重写了f

Java基础学习总结——Java对象的序列化和反序列化

时间秒杀一切 提交于 2020-07-28 09:41:46
Java基础学习总结——Java对象的序列化和反序列化 一、序列化和反序列化的概念    把对象转换为字节序列的过程称为对象的序列化 。    把字节序列恢复为对象的过程称为对象的反序列化 。   对象的序列化主要有两种用途:   1) 把对象的字节序列永久地保存到 硬盘 上,通常存放在一个文件中;   2) 在网络上传送对象的字节序列。   在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion先序列化到硬盘中,等要用了,再把保存在硬盘中的对象还原到内存中。   当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 二、 JDK类库中的序列化API   java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object obj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。   java.io.ObjectInputStream代表对象输入流

2020 java Mybatis 面试题及答案(最全版本持续更新)

南笙酒味 提交于 2020-05-06 20:24:47
前言 涵盖各大公司会问到的面试点,同时随着版本的升级,可能也会有一些面试题更新,也会同步保持更新,因为篇幅原因(其实是我懒,哈哈)所以列了一部分答案,所有的答案见下文,总共485页合计20个技术点,文末自取pdf。 1、什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 (2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 (3)通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。(从执行sql到返回result的过程)。 2、Mybaits的优点: (1)基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。 (2)与JDBC相比

微信公众号开发(四)普通消息的接收和回复(转载)

爷,独闯天下 提交于 2020-05-04 01:52:37
从微信公众平台接口消息指南中可以了解到,当用户向公众帐号发消息时,微信服务器会将消息通过POST方式提交给我们在接口配置信息中填写的URL,而我们就需要在URL所指向的请求处理类WxServlet的doPost方法中接收消息、处理消息和响应消息。 本篇就介绍:普通消息的接收和回复; 由于时间和精力有限我在这里就引入了下面这篇文章,在此还要多多感谢该博主的文章对我的学习进步提供了很大帮助 http://www.cnblogs.com/xdp-gacl/p/5161206.html 一、微信公众平台消息管理接口介绍   要实现微信公众号的普通消息的接收和回复,我们需要先熟悉微信公众平台API中消息接口部分, 点此进入 ,点击后将进入到【消息管理】部分,如下图所示:      对于普通消息的接收和回复我们只需要关注上图中的"接收消息——接收普通消息"和"发送消息——被动回复消息" 1.1、消息接收   先来说说接收消息, 当普通微信用户向公众账号发消息时,微信服务器会先接收到用户发送的消息,然后将用户消息按照指定的XML格式组装好数据,最后POST消息的XML数据包到开发者填写的URL上。   接收到的普通消息的消息类型目前有以下几种:   1 文本消息   2 图片消息   3 语音消息   4 视频消息   5 小视频消息   6 地理位置消息   7 链接消息  

Java后端WebSocket的Jetty实现

你离开我真会死。 提交于 2020-04-28 09:10:09
一.WebSocket简单介绍 在WebSocket规范提出之前,开发人员实现实时性较强的功能基本采用两种轮询方法: 轮询(polling) 和 Comet 技术。   轮询: 轮询技术要求客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动。明显地,这种方法会导致过多不必要的请求,浪费流量和服务器资源。   Comet技术 可分为: 长轮询、 流技术 。 长轮询 改进了上述的轮询技术,减小了无用的请求。它会为某些数据设定过期时间,当数据过期后才会向服务端发送请求;这种机制适合数据的改动不是特别频繁的情况。 流技术 指客户端使用一个隐藏的窗口与服务端建立HTTP长连接,服务端会不断更新连接状态以保持HTTP长连接存活,然后才能主动推送数据给客户端。   缺点:这两种技术每一次请求、应答,都浪费了一定流量在相同的头部信息上,并且开发复杂度也较大。   伴随着HTML5推出的WebSocket,使B/S模式具备了C/S模式的实时通信能力。WebSocket连接本质上是TCP连接,不需要每次传输都带上重复的头部数据。WebSocket的工作流程:浏览器通过JavaScript向服务端发出建立WebSocket连接的请求,在WebSocket连接建立成功后,客户端和服务端就可以通过TCP连接传输数据。 下面介绍下实现 1、申请一个WebSocket对象

2020最新Java工程师面试题-MyBatis篇(附答案)

冷暖自知 提交于 2020-04-18 12:05:11
持续更新内容涵盖 :Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、 Linux 等技术栈(滴滴滴.会持续更新哦,记得点赞、关注、分享三连击哈). MyBatis 面试题: (关注末尾获取完整答案) 1、什么是 Mybatis? 1、Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时 只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性 能,灵活度高。 2、MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数 据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 3、通过 xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最 后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。(从执行 sql 到返 回 result 的过程). 2、Mybaits 的优点:

使用Maven客户端从Maven中心仓库下载到本地的jar包的默认存储位置及远程仓库

浪尽此生 提交于 2020-04-10 10:02:12
从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登录系统的用户目录(如"C:\Users\gacl"),如下图所示: Jar包存放在这个位置不太好,我们希望能够自己定义下载下来的jar包的存放位置,因此我们可以自己设置下载到本地时的jar包的存放目录。 在“E:\”目录下创建一个“repository”文件夹: 找到apache-maven-3.2.3\conf目录下的settings.xml文件,如下图所示: 编辑setting.xml文件,如下图所示: 加上下面的代码: <localRepository>E:/repository</localRepository> 注:远程仓库改为阿里的配置: <mirror>   <id>nexus-aliyun</id>   <mirrorOf>*</mirrorOf>   <name>Nexus aliyun</name>   <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> 这样就可以把jar包下载到我们指定的E:/repository目录中了,如下图所示: 把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在