工作

Java 学习记录-Java核心类-字符串和编码、StringBuilder、StringJoiner

核心类 字符串 StringBuilder StringJoiner 包装类型 JavaBean 枚举类 常用工具类 字符串 在Java中,String是一个引用类型,它本身也是一个class,在String内部是通过一个char[]数组表示。 Java字符串的一个重要特点就是字符串不可变。这种不可变性是通过内部的private final char[]字段,以及没有任何修改char[]的方法实现的。 字符串比较 当我们想要比较两个字符串是否相同时,要特别注意,我们实际上是想比较字符串的内容是否相同。必须使用equals()方法而不能用==,因为== 比较的是引用地址。 两个字符串比较,必须总是使用equals()方法。 要忽略大小写比较,使用equalsIgnoreCase()方法。 搜索子串 “Hello”.contains(“ll”); // true “Hello”.indexOf(“l”); // 2 “Hello”.lastIndexOf(“l”); // 3 “Hello”.startsWith(“He”); // true “Hello”.endsWith(“lo”); // true 提取子串 “Hello”.substring(2); // “llo” “Hello”.substring(2, 4); “ll” 去除首尾空白字符 使用trim()方法可以移除字符串首尾空白字符。空白字符包括空格,\t,\r,\n,注意:trim()并没有改变字符串的内容,而是返回了一个新字符串。 另一个strip()方法也可以移除字符串首尾空白字符。它和trim()不同的是,类似中文的空格字符\u3000也会被移除。 String还提供了isEmpty()和isBlank()来判断字符串是否为空和空白字符串: “”.isEmpty(); // true,因为字符串长度为0 ” “.isEmpty(); // false,因为字符串长度不为0 ” \n”.isBlank(); // true,因为只包含空白字符 …

Java 学习记录-Java核心类-字符串和编码、StringBuilder、StringJoiner Read More »

Brew 管理指令 学习记录

Brew: MacOs 的包管理工具 brew update brew list: view all installed package brew install [packageName] brew uninstall [packageName], brew remove [packageName] brew services list brew service start [serviceName] brew service stop [serviceName] List all installed packages ls /usr/local/Cellar/ ls -l /usr/local/opt/ Reference: Homebrew Documentation How to install PostgreSQL on a Mac with Homebrew

Stripe 整合复盘

经验教训 不要尝试把所有Stripe的代码放在一起集中处理多种情况,主动监测用户的账户状态不可取…

Java 学习记录-面对对象基础

方法 构造方法 方法重载 在一个类中,我们可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同,那么,可以把这一组方法名做成同名方法。 方法名相同,但各自的参数不同,称为方法重载(Overload)。 注意:方法重载的返回值类型通常都是相同的。 方法重载的目的是,功能类似的方法使用同一名字,更容易记住,因此,调用起来更简单。 继承 instanceof实际上判断一个变量所指向的实例是否是指定类型,或者这个类型的子类。如果一个引用变量为null,那么对任何instanceof的判断都为false。 区分继承和组合 继承是is关系,组合是has关系。 多态与@Override Java的实例方法调用是基于运行时的实际类型的动态调用,而非变量的声明类型。 这个非常重要的特性在面向对象编程中称之为多态。它的英文拼写非常复杂:Polymorphic。 定义:多态是指,针对某个类型的方法调用,其真正执行的方法取决于运行时期实际类型的方法。 多态具有一个非常强大的功能,就是允许添加更多类型的子类实现功能扩展,却不需要修改基于父类的代码。 Final 1. 如果一个类不希望任何其他类继承自它,那么可以把这个类本身标记为final。用final修饰的类不能被继承。 2. 继承可以允许子类覆写父类的方法。如果一个父类不允许子类对它的某个方法进行覆写,可以把该方法标记为final。用final修饰的方法不能被Override。 3. 对于一个类的实例字段,同样可以用final修饰。用final修饰的字段在初始化后不能被修改。可以在构造方法中初始化final字段: class Person { public final String name; public Person(String name) { this.name = name; } } 这种方法更为常用,因为可以保证实例一旦创建,其final字段就不可修改。 4. 用final修饰局部变量可以阻止被重新赋值。 抽象类abstract class与接口 interface   静态字段和静态方法   包与作用域   内部类   classpath和jar   模块 …

Java 学习记录-面对对象基础 Read More »

Java 学习记录-入门内容

入口程序规定 Java入口程序规定的方法必须是静态方法,方法名必须为main,括号内的参数必须是String数组。 public class Hello { public static void main(String[] args) { // 方法名是main // 方法代码… } // 方法定义结束 } 注释 // 这是注释… /* 这是注释 blablabla… 这也是注释 */ /** * 可以用来自动创建文档的注释 * * @auther liaoxuefeng */ 数据类型 基本数据类型 整数类型:byte, short, int, long 浮点数类型:float, double 字符类型:char 布尔类型:boolean 计算机内存的最小存储单元是字节(byte),一个字节就是一个8位二进制数,即8个bit。 注意char类型使用单引号’,且仅有一个字符,要和双引号”的字符串类型区分开。 引用数据类型 除了上述基本类型的变量,剩下的都是引用类型。 字符串 … 引用类型的变量类似于C语言的指针,它内部存储一个“地址”,指向某个对象在内存的位置。 常量 常量在定义时进行初始化后就不可再次赋值,再次赋值会导致编译错误。 …

Java 学习记录-入门内容 Read More »

《数据结构与算法》第一章 绪论

程序开发过程 程序开发就是根据面对的问题,最终得到一个可以解决问题的程序的工作过程。 分析阶段:弄清问题 设计阶段:设计解决问题的计算过程模型 计算中处理的「数据」 求解问题的计算方法「算法」 编码阶段 检查编译即阶段 测试/调试阶段 算法 三个基本概念 问题:一个问题W是需要解决的一个具体需求,描述的是一些列类似问题的集合,例如判断任一个正整数N是否为素数。问题W显示其所有实例的共性。 问题实例:问题W的一个实例w是该问题的一个具体例子,通常通过一组具体的参数设定。例如断定1013是否为素数。 算法:解决问题W的一个算法A,是对一种计算过程的严格描述。对W的任何一个实例w,实施算法A描述的计算过程,就能得到w的解。例如,一个判断素数的算法应该能给出1013是否为素数的判断,也能判断其他正整数是否为素数。 算法的性质 有穷性 能行性 确定性 终止性 输入/输出 算法设计模式 枚举法 贪心法 回溯发(搜索法) 动态规划法 分支界限法    典型数据结构 集合结构 序列结构 层次结构 树形结构 图结构 Python对象与数据结构 Python语言的变量存储是引用语义的,并且其实现过程是基于一套精心设计的的链接结构。 C语言是值语义,链接结构的另一种结构叫连续结构。 想要高效使用Python,需要关注两个方面的问题: 人们经常需要自己设计一些数据结构,这是需要考虑实现的效率问题,需要对构造的数据结构的基本技术有所了解。 使用语言本身踢狗的各种高级结构「list、dict等」,也需要对这些结构的基本性质,以及实现它们的基本原理有准确理解,才能正确有效地使用它们。 Pyhton 的几个标准数据类型 List 表 tuple 元组 dict 字典

全栈工程师职业技术图谱

图 概念 方向 设计: 视觉「SketchBook,Copic库」 Responsive web design 互动 测试 Linters and Formatters – Prettier, ESLint Vue.js TypeScript in a real projet Progressive Web Apps GraphQL Desktop Applications – Electron 设计: 数据库 接口 RESTful APIs 认证 / 授权「Authentication/Authorization」 缓存 redis Web Socket「服务器推送消息给前端,前后端长时间交流」 内容搜索 上传文件 图片原始像素保护技术 邮件 支付 功能: 分析「输入数据->返回图片或数据」 测试 缓存 – Redis 消息队列 – …

全栈工程师职业技术图谱 Read More »