不同项目依赖不同版本的库,如果全部装在系统 Python 下迟早会冲突。虚拟环境就是解决这个问题的标准方案——每个项目一个独立的 Python 环境,互不干扰。
Java并发编程:线程的创建与生命周期
Java 多线程是面试高频考点,也是日常开发绕不开的话题。这篇文章从线程的创建方式讲起,深入到线程状态的流转,配合代码示例把基础打牢。
Linux常用命令整理
日常开发中最常用的 Linux 命令速记,按功能分类整理,方便随时查阅。
Python数据分析:Pandas入门
Pandas 是 Python 数据分析的基石,提供了高效的 DataFrame 数据结构,能让你用几行代码完成数据读取、清洗、转换和聚合。这篇文章通过一系列可运行的代码示例,帮你快速上手 Pandas 的核心操作。
MySQL基础:索引原理与优化
MySQL 索引是提升查询性能最直接的手段,但用不好反而会拖慢写入甚至导致全表扫描。这篇文章从底层数据结构出发,聊聊索引到底是怎么工作的,以及日常开发中最容易踩的坑。
算法:常用的基础算法:穷举、迭代、递归和回溯
穷举、迭代、递归和回溯这些算法属于“通用算法”,它们在解决许多问题中都有应用。
Java程序设计:泛型
泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。
泛型的定义主要有以下两种:
在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义)
在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(现在人们大多把这称作模板)
不论使用哪个定义,泛型的参数在真正使用泛型时都必须作出指明。
Java程序设计:字符串类
字符串可以分为两大类
1.String类
• 创建之后不会再做修改和变动,即 immutable
2.StringBuffer、StringBuilder类
• 创建之后允许再做更改和变化
• 其中 StringBuilder是JDK1.5增加的,它是非线程安全的,但是效率较高
Java程序设计:集合(Collection)API
Collection API
• Collection API提供“集合”“收集”的功能
• Collection API包含一系列的接口和类
Collection接口:有两个子接口
• List: (Collection的子接口)记录元素的保存顺序,且允许有重复元素
• Set: (Collection的子接口)不记录元素的保存顺序,且不允许有重复元素
Map接口,即映射
• 键-值对(key-value pair)的集合
Java程序设计:Lambda表达式与方法引用
函数式编程(Functional Programming)是把函数作为基本运算单元,函数可以作为变量,可以接收函数,还可以返回函数。历史上研究函数式编程的理论是Lambda演算,所以我们经常把支持函数式编程的编码风格称为Lambda表达式。