Jeff's Blog


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

初学者快速使用SQL(三)

发表于 2016-08-10   |   分类于 learn , translation , sql   |  

概述

本文主要介绍表的关系及相关查询操作

P.S.:译自SQL for Beginners: Part 3 – Database Relationships1

Database Relationships

One to One Relationships

一对一意味着两个表之间的关联只存在于从表A的任意一行至多在表B中拥有一行,其中应用到了FOREIGN KEY,用于关联从表

阅读全文 »

初学者快速使用SQL(二)

发表于 2016-08-10   |   分类于 learn , translation , sql   |  

概述

本文主要介绍索引、数据类型和更多复杂的查询结构

P.S.:译自SQL for Beginners Part 21

Database Indexes

Indexes或keys主要用于提高表的数据获取速度。对于指数化数据库的列的大多数原因如下:

  • 每个表应该有一个PRIMARY KEY索引,通常作为一个id列
  • 如果一列预计含有唯一的值,那么该列应该有一个UNIQUE索引
  • 如果经常在一列上执行搜索(在WHERE语句里),应该有一个正规的索引
  • 如果一列用于和另一个表的关系,如果可能,该列应该是一个FOREIGN KEY,否则只有一个正规的索引
阅读全文 »

初学者快速使用SQL(一)

发表于 2016-08-09   |   分类于 learn , translation , sql   |  

概述

SQL,Structured Query Language,被设计用于关系型数据库管理系统(RDBMS,relational database management systems)的一种语言。

P.S.:译自SQL for Beginners1

基本操作

DATABASE

CREATE DATABASE

创建一个数据库

1
CREATE DATABASE my_first_db;
阅读全文 »

greenDAO使用总结

发表于 2016-07-31   |   分类于 learn , tool , greenDAO   |  

概况

此文档主要描述greenDAO 3的相关概念及使用,包括项目中的配置、数据操作(增删改查)等。

配置

与greenDAO 2的区别

greenDAO 2(之前的版本)需要开发者在工程中另建一个独立的Java生成器项目(需要使用到“greendao-generator”依赖,来自动生成greenDAO需用的代码),然而greenDAO 3只需使用注解定义实体类,然后通过gradle插件就可以生成代码

阅读全文 »

Retrofit 2.0使用总结

发表于 2016-07-15   |   分类于 learn , http , retrofit   |  

概述

本文主要介绍Retrofit 2.0的基础知识

基础

基本介绍

  1. Retrofit是由Square开发的一个Android和Java的REST库,可以利用接口、方法和注解参数来声明式定义一个请求应该如何被创建
  2. Retrofit背后的HTTP client、序列化机制(JSON/XML协议)都是可替换(pluggable)的,使用者可以选择适合自己的方案
  3. 请求的发送实现分同步和异步两种
  4. 支持RxJava
  5. Retrofit 1不够好:
    • 为了支持可替换的功能模块,必须嵌套大量的组件,类的数量极多
    • 如果想要操作某次请求返回的数据,如返回的Header部分或URL,又同时想要操作序列化后的数据部分,这些在Retrofit 1.0上是不可能实现
    • 在同步、异步和RxJava的使用上比较刻板,不够灵活,如异步和同步的调用必须得分别声明两次方法
    • Retrofit 1里Converter工作的效率不高,如传入了Response和想要转换的格式Type参数后,Converter必须得搞清楚到底应该如何去反序列化,这部分的实现很复杂,而且耗时
阅读全文 »

Java Annotation

发表于 2016-07-05   |   分类于 learn , java , annotation   |  

概况

本文主要介绍Java注解(Java Annotation)的概念、类型及使用等知识。

概念

基本知识

  • Java编程语言里,Java注解是一种可以被添加到Java源码里的元数据(metadata),尽管它们不是程序的一部分
  • 类(Classes)、方法(methods)、变量(variables)、参数(parameters)和包(packages)都可以被注解
  • Java注解从JDK 1.5开始被加入到Java中
  • Java注解对程序的执行没有影响
阅读全文 »

svn教程

发表于 2016-06-22   |   分类于 learn , tool , svn   |  

概况

本文主要介绍svn的使用,转载自svn使用教程总结1。

SVN简介

Subversion的简称,是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。

阅读全文 »

Java数据存储

发表于 2016-06-20   |   分类于 learn , java , memory   |  

概况

本文主要介绍Java中数据的存储位置及机制。

概念

在Java中,程序分为6个存储区域来存放变量以及代码占用的内存

阅读全文 »

Java同步

发表于 2016-06-12   |   分类于 learn , java , translation   |  

概况

本文主要介绍Java中同步的概念、类型、使用等相关内容。

相关概念

Java同步

  • Java同步是控制多线程访问任意共享资源的能力
  • 在想要允许唯一一个线程访问共享资源时Java同步是一种更好的选择

为什么使用同步

  • 阻止线程干涉
  • 阻止一致性问题
阅读全文 »

Java多线程

发表于 2016-06-07   |   分类于 learn , java , translation   |  

概况

本文主要介绍Java中线程的概念及使用、多线程的优势及应用、垃圾收集的原理等

相关概念

多任务

Multitasking,同时执行多个任务的过程,可以用于充分利用CPU。

  1. 基于进程的多任务

    • 每个进程在内存中有自己的地址(每个进程分配独立的内存区)
    • 进程是重量级的
    • 进程间通信的代价是昂贵的
    • 从一个进程切换到另一个进程需要一段时间保存和备份寄存器、内存映射区、更新列表等
  2. 基于线程的多任务

    • 线程共享同一地址空间
    • 线程是轻量级的
    • 线程间通信的代价很低
阅读全文 »
123
Jeff

Jeff

23 日志
25 分类
30 标签
© 2018 Jeff
由 Hexo 强力驱动
主题 - NexT.Mist