基础

2.1 Git 基础

懵懂的女人 提交于 2019-12-10 17:38:43
在工作目录中初始化新仓库 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行: $ git init 如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交: $ git add *.c $ git add README $ git commit -m 'initial project version' 从现有仓库克隆 如果想对某个开源项目出一份力,可以先把该项目的 Git 仓库复制一份出来,这就需要用到 git clone 命令。如果你熟悉其他的 VCS 比如 Subversion,你可能已经注意到这里使用的是 clone 而不是 checkout 。这是个非常重要的差别,Git 收取的是项目历史的所有数据(每一个文件的每一个版本),服务器上有的数据克隆之后本地也都有了。实际上,即便服务器的磁盘发生故障,用任何一个克隆出来的客户端都可以重建服务器上的仓库,回到当初克隆时的状态(虽然可能会丢失某些服务器端的挂钩设置,但所有版本的数据仍旧还在,有关细节请参考第四章)。 克隆仓库的命令格式为 git clone [url] 。比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令: $ git clone git://github.com/schacon/grit.git

Java基础(一)

会有一股神秘感。 提交于 2019-12-10 07:57:44
1.hashcode 与 equals: equals相等的一定相等,hashcode的则不一定。 2.hashtable和hashmap,concurrenthashtable,treemap hashtable是基于dictionary类的,并且每个方法都加了syscnoized,所以是线程安全的,hashmap实现了map接口,并且是线程不安全的,concurrenthashmap是是线程安全的,里面方法加了锁处理。concurrenthashtable可以看作是多个HashTable的组合,每个“HashTable”单元成为一个段,一个段的掉为“HashTable”数组的航渡,模式是InitailCapacity/16,在ConcurrentHashTable中initialCapacity使用户创建时传入进去的,容量和大小是不一样的,大小是指元素的总个数。hashmap里面hashcode一样时,通过keys.equals方法来找到对应的entry。hashtable采用synchronized关键字加锁的原理,其实是对对象加锁,不论你是在方法前加synchronized还是语句块前加, 锁住的都是对象整体。 但是concurrenthashmap采用的时lock。hashmap底层是数组加链表或者数组加红黑树,treemap采用的是红黑树

Python基础笔记

丶灬走出姿态 提交于 2019-12-09 20:59:50
生命苦短,我用 python Python是一种功能强大的语言,有着功能丰富的第三方包,推崇功能齐全的理念,被广泛用于多种场景下。 *nix系统默认的已经内置了一个python,可通过 python -V 检测: python文件类型分3种,均可直接执行 源码 .py, 唯一可编辑的代码类型 字节码 .pyc,源码编译获得 # 通过python脚本来编译一个源码文件 import py_compile py_compile.compile('hello.py') 优化代码 .pyo,源码优化获得 # python解释器输出优化代码 python -O -m py_complie hello.py python程序分package、module、function三个层次 包即目录,由 __init__.py 文件(必选) 和 多个模块文件组成 模块即py文件,其中可包含:代码、函数、类, python语法示例 第一行注释(组织行)用于指定解释器,第二行注释用于指定编码从而中文支持 #!/usr/bin/python # -*- coding: utf-8 -*- import os, sys help('类名') #模块均可通过help函数帮助文档 ## 控制语句,python没有switch ## input1 = int(input('请键入数字')) if input1 ==

黑马程序员.bobo.DAY.2

女生的网名这么多〃 提交于 2019-12-09 19:37:02
DAY-2 1.标识符 1.1 Java 语言基础组成 1.1.1 关键字 被计算机语言赋予了特殊的含义的字符 1.1.2 标识符 l 在程序中自定义的一些名称 l 由 26 个字母大小写,数字: 0-9 符号: _ 和 $z 组成 ( 下划线和美元号 ) l 定义合法标识符规则: 1. 数字不可以开头。例如: 123bobo 2. 不可以使用关键字。例如 static public l Java 中严格区分大小写 l 注意: 在起名字的时候,为了提高阅读性,要尽量有意义 例如: class Add() Java 中的名称规范: l 包名:多单词组成时所有字母小写。 xxxyyyzzz l 类名接口名:多单词组成时,所有单词的首字母大写。 XxxYxxZzz l 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。 xxxYyyZzz l 常量名:所有字母都大写,多单词组成时每个单词用下划线连接。 XXX_YYY_ZZZ 1.1.3 注释 l // 单行注释 l /* 多行注释 */ 2.常量 2.1 常量与变量 l 常量表示不能改变的数值。 l Java 中常量的分类: 1.整数常量,所有整数 2.小数常量,所有小数 3.布尔型常量,较为特有,只有两个数值, true flase. 4.字符常量。将一个数字字母或者符号用单引号 ( ‘’) 标识。

黑马程序员.bobo.DAY.7

对着背影说爱祢 提交于 2019-12-09 17:13:57
Day-7 1.面向对象 ( 继承 - 概述 ) /* 将学生和工人的共性描述提取出来,单独进行描述, 只要让学生和公认与当杜描述的这个类有关系,就可以 继承: 1,提高了代码的复用性. 2,让类与类之间产生了关系,才有了多态的特性. 3, 注意:千万不要为了获取其它类的功能,简化代码而继承. 必须是类与类之间所属关系才可以继承.所属关系is a. */ class Person { String name; int age; } class Student extends Person { void study() { System.out.println("good study"); } } class Woeker extends Person { void work() { System.out.println("good work"); } } class ExtendsDemo { public static void main(String[] args) { System.out.println(); } } 2 面向对象 ( 继承 - 概述 2) /* 将学生和工人的共性描述提取出来,单独进行描述, 只要让学生和公认与当杜描述的这个类有关系,就可以 继承: 1,提高了代码的复用性. 2,让类与类之间产生了关系,才有了多态的特性. 3, 注意

Android应用程序基础(Application Fundamentals)之一

点点圈 提交于 2019-12-06 02:56:36
正在尝试分析SDK中的示例程序NotePad,发现仍然还欠缺很多知识。今天看到 API Guides 下有一部分应用程序基础 Application Fundamentals,感觉需要进一步学习。于是准备采用之前的策略,边翻译,边学习。虽然这样做,学起来很慢,但是,好在可以慢慢理解,转化为自己的语言的同时也是一种加深记忆的过程。反正,我也只是业余学习,不赶时间,呵呵。 整个API指南有很多个章节,下面先把章节的名字列一下,这样知道还有多长的路要走。 API Guides (developer.android.com/guide/components/index.html) [App Components] [User Interface] [App Resources] [Animation and Graphics] [Computation] [Media and Camera] [Location and Sensors] [Connectivity] [Text and Input] [Data Storage] [Administration] [Web Apps] [Best Practices] 其中第一章 应用程序组件(App Components)就有多个子章节。各章节的名字如下: App Components [App Fundamentals]

Learn Java

别说谁变了你拦得住时间么 提交于 2019-12-05 08:06:21
java语言定义的变量包含一下四种类型 实例变量(Instance Variables),非静态变量,在Class中声明的field,未使用static声明; 类变量(Class Variables ),静态变量,在Class中使用static标识; 本地变量(Local Variables),在一个方法中声明的变量; 参数(Parameters),方法定义的形参; 命名 大小写敏感; 不限长度; 以字母、数字、下划线和“$”符号组成,不可以以数字开头; 不可以是Java保留字 保留字参考: abstract continue for new switch assert*** default goto* package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum**** instanceof return transient catch extends int short try char final interface static void class finally long strictfp** volatile const* fl oat native super while

Learn Java

大憨熊 提交于 2019-12-04 15:22:26
Java数组在被创建的时候确定数组长度。索引下标从0开始。 1.数组定义及初始化 int[] anArray;//定义 anArray = new int[2];//初始化 anArray[0] = 100;//赋值 anArray[1] = 200;//赋值 System.out.println("Element at index 0: " + anArray[0]);//使用 System.out.println("Element at index 1: " + anArray[1]);//使用 程序输出: Element at index 0: 100 Element at index 1: 200 2.定义初始化同时赋值 int[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 }; 3.多维数组 String[][] names = { {"Mr. ", "Mrs. ", "Ms. "}, {"Smith", "Jones"} }; System.out.println(names[0][0] + names[1][0]); System.out.println(names[0][2] + names[1][1]); 程序输出: Mr. Smith Ms. Jones 从以上例子中可以看出

Java自学-接口与继承 多态

易管家 提交于 2019-12-02 23:00:33
Java的多态 操作符的多态 +可以作为算数运算,也可以作为字符串连接 类的多态 父类引用指向子类对象 示例 1 : 操作符的多态 同一个操作符在不同情境下,具备不同的作用 如果+号两侧都是整型,那么+代表 数字相加 如果+号两侧,任意一个是字符串,那么+代表字符串连接 package charactor; public class Hero { public String name; protected float hp; public static void main(String[] args) { int i = 5; int j = 6; int k = i+j; //如果+号两侧都是整型,那么+代表 数字相加 System.out.println(k); int a = 5; String b = "5"; String c = a+b; //如果+号两侧,任意一个是字符串,那么+代表字符串连接 System.out.println(c); } } 示例 2 : 观察类的多态现象 观察类的多态现象: i1和i2都是Item类型 都调用effect方法 输出不同的结果 多态: 都是同一个类型,调用同一个方法,却能呈现不同的状态 package property; public class Item { String name; int price; public void

java中Final关键字和Immutable Class以及Guava的不可变对象

孤街醉人 提交于 2019-12-02 17:09:25
大纲 写这篇文章的起因 java中Final关键字 如何构建不可变对象 Guava中不可变对象和Collections工具类的unmodifiableSet/List/Map/etc的区别 实验代码 写这篇文章的起因 java项目在使用FindBugs扫描的时候报了一个不能使用可变对象,记得报的是类似如下的信息: MS: Field is a mutable collection (MS_MUTABLE_COLLECTION) 官方解释: A mutable collection instance is assigned to a final static field, thus can be changed by malicious code or by accident from another package. Consider wrapping this field into Collections.unmodifiableSet/List/Map/etc. to avoid this vulnerability. 参考FindBugs的描述:http://findbugs.sourceforge.net/bugDescriptions.html 由于最近学习的东西较多,对有些基本的概念略有生疏,所以又温故了一下,顺便提供下上面问题的解决方案,仅供参考。