pigLoveRabbit的博客

pigLoveRabbit的博客

0%

Python曲线拟合

本文环境:

  • OS:Ubuntu 18.04.4 LTS
  • Python版本:3.6.9

曲线拟合

现在我们有一组数据,表达的含义是在不同的时间点的充值金额,反映在坐标上就是一系列的散点,我们希望选择适当的曲线类型(如y = a*x^2 + b)“最佳”地逼近或拟合已知数据,这便是曲线拟合(curve fitting)。当然,变量间未必都是线性关系,我们可能会用到指数函数、对数函数、幂函数等。

阅读全文 »

本文环境:

  • OS:Ubuntu 18.04.4 LTS
  • Java版本:1.8.0_221

Java Web

虽然我们现在会用SpringBoot快速创建一个Web Demo,但是基础不能忘(SpringBoot或者SpringMVC都是封装后的产物),下面就让我们回顾一下一个最基本的Java Web项目。

阅读全文 »

docker logo

本文环境:

  • OS:Ubuntu 18.04.4 LTS
  • Golang版本:1.12.13

什么是Linux Cgroups

Linux Cgroups(Control Groups)提供了对一组进程及将来的子进程的资源限制、控制和统计的能力,这些资源包括CPU、内存、存储、网络等。本质上来说,Cgroups 是内核附加在程序上的一系列钩子(hook),通过程序运行时对资源的调度触发相应的钩子以达到资源追踪和限制的目的。

阅读全文 »

upload successful

GC

GC就是垃圾回收(Garbage Collection),如果你写过C++或者C程序的,你就会知道new一个数据后,就需要delete它的内存,这就是手动管理内存,但这样如果你粗心点的话,就容易造成内存泄露,所以就有了自动垃圾回收,也就我们这里所讨论的GC。Java的GC会对JVM(Java Virtual Machine)中的内存进行标记,并确定哪些内存需要回收,根据一定的回收策略,自动的回收内存,永不停息(Nerver Stop)的保证JVM中的内存空间,防止出现内存泄露和溢出问题。
其实GC很早就有了,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。

阅读全文 »

docker logo

本文环境:

  • OS:Ubuntu 18.04.4 LTS
  • Golang版本:1.12.13

Golang

Go语言是Google开发的一种静态类型、编译型的高级语言,它设计的蛮简单的,学过C的话,其实上手Go很快的,当然相比于C的话,Go有垃圾回收和并发支持,所以写起来心智负担更低一点。
对于Go的安装和配置,我以前写过一篇文章——go语言基本配置,我这里就不在赘述了。Go1.11增加了go modules,使用它的话,就没必要一定要把代码放到GOPATH下面啦(≧▽≦)/go modules详细
使用请参考go mod 使用

阅读全文 »

Zookeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。
由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。

阅读全文 »

synchronized

在Java多线程编程中,我们最先碰到的也是最简单的方法就利用synchronized关键字。用它的方式有三种:

  • 修饰实例方法,锁是当前实例对象
  • 修饰静态方法,锁是当前类的class对象(每个类都有一个Class对象)
  • 修饰代码块,锁定括号里的对象

加上synchronized之后,我们的代码就变成了同步代码,神奇又强大,但有的时候也不禁会思考下:Java底层是怎么实现synchronized关键字的?
在阅读了一些文章之后,我在这里做了一些归纳和总结。

阅读全文 »

其实,无论是Mybatis、Hibernate都是ORM的一种实现框架,都是对JDBC的一种封装。

之前我写过一篇Spring Boot集成MyBatis操作MySQL,不过在这里让我们脱离Spring(不过很多代码是一样的,Dao类,Model类,数据库配置),就单独回顾下MyBatis的使用,来了解下MyBatis的使用流程。

Mybatis工作流程

  • 通过Reader对象读取Mybatis配置文件
  • 通过SqlSessionFactoryBuilder对象创建SqlSessionFactory对象
  • 获取当前线程的SQLSession
  • 事务默认开启
  • 通过SQLSession读取映射文件中的操作编号,从而读取SQL语句
  • 提交事务
  • 关闭资源
阅读全文 »

本文环境:

  • OS:Ubuntu 18.04.3 LTS
  • Qt版本:5.14.1
  • Qt Creator版本:4.10.1

布局器概览

我们以下图的 Qt 设计师界面来说明布局功能,QtCreator 设计模式的布局功能与 Qt 设计师是一样的。

upload successful

阅读全文 »