Algorithm: GCD、EXGCD、Inverse Element
数论基础 数论是纯数学的一个研究分支,主要研究整数的性质。初等数论包括整除理论、同余理论、连分数理论。这一篇主要记录的是同余相关的基础知识。 取模 取模是一种运算,本质就是带余除法,运算结果就是余数。取模运算结果的符号由被模数(被除数)决定。 $$ 7\%4=3;\space7\%( 4)=3;\\ ...
4. 彤哥说netty系列之Java NIO实现群聊(自己跟自己聊上瘾了)
你好,我是彤哥,本篇是netty系列的第四篇。 欢迎来我的公从号 彤哥读源码 系统地学习 源码&架构 的知识。 简介 上一章我们一起学习了Java中的BIO/NIO/AIO的故事,本章将带着大家一起使用纯纯的NIO实现一个越聊越上瘾的“群聊系统”。 业务逻辑分析 首先,我们先来分析一下群聊的功能点: ...
设计模式(Java语言)- 简单工厂模式
简单工厂模式有称为静态工厂模式,属于设计模式中的创建型模式。简单工厂模式通过对外提供一个静态方法来统一为类创建实例。简单工厂模式的目的是实现类与类之间解耦,其次是客户端不需要知道这个对象是如何被穿创建出来的,只需要调用简单工厂模式的方法来统一创建就可以了,从而明确了各个类的职责。 一、创建简单工厂模 ...
【Spring】Spring的定时任务注解@Scheduled原来如此简单
1 简介 定时任务的实现非常多,JDK的 Timer 、Spring提供的轻量级的 Scheduled Task 、 QuartZ 和 Linux Cron 等,还有一些分布式的任务调度框架。本文主要介绍 Scheduled Task 的使用。 2 方便的4种方式 注解 只能用于满足下面两个条件的方 ...
手把手教你如何在阿里云ECS搭建Python TensorFlow Jupyter
前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用。TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Python、TensorFlow、Jupyter开发环境过程中遇到很多问题。这里将具体步骤分享给大家,可以 ...
Geometry 判断几何是否被另一个几何/线段分割成多段
如下图,如何判断几何多边形A被多边形B,切割为多段几何? 几何A被几何B切割 1. 获取几何A与几何B的交集C var intersectGeometry = new CombinedGeometry(GeometryCombineMode.Intersect, geometry1, geometr ...
千万数据量数据表分表实践
需求 对平均 1200w 数据量的数据表进行优化 数据表中有 2016年,2017 年,2018 年,2019 年数据 只查询最近半年的数据 后台增加历史数据查询功能 尽量减少代码改动 数据表 积分日志表 tb_user_points_log 虚拟充值表 tb_order_recharge 虚拟充值 ...
SpringBoot 整合NoSql
通用配置 maven依赖 添加Spring Web和Spring Security依赖,使用Spring Security是因为使用SpringBoot的Redis依赖时,必须添加Spring Security。在新版本SpringBoot才会这样。 properties配置 8080端口指定一下, ...
花了几个小时总结了一些容易出错的 Java 知识点!
本文已经收录自 "JavaGuide" (61k+Star!【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。欢迎 Star!欢迎骚扰!) 原文地址:http://javaguide.cn/2019/08/20/java/java%E5%9F%BA%E7%A1%80/J ...
Prometheus监控有所思:多标签埋点及Mbean
使用 grafana+prometheus+jmx 作为普通的监控手段,是比较有用的。我之前的文章介绍了相应的实现办法。http://bjabcd.com/yougewe/p/11140129.html 但是,按照之前的实现,我们更多的只能是监控 单值型的数据,如请求量,tps 等等,对 ...
Unity - Cinemachine实现相机抖动
普通相机抖动脚本较易实现,但在使用cinemachine相机下,其Transform组件不可被代码修改,因此需要对其进行特殊配置。本文结合实际案例,系统讲解实现抖动的两个核心脚本Cinemachine Impulse Listener、Cinemachine Collision Impulse S... ...
一个类GraphQL的ORM数据访问框架发布
Zongsoft.Data 是一个类 GraphQL 风格的 ORM(Object/Relational Mapping) 数据访问框架。很高兴我们的 ORM 数据访问框架在历经两个 SaaS 产品的应用之后,今天正式宣布对外推广! ...
flink 流式处理中如何集成mybatis框架
flink 中自身虽然实现了大量的connectors,如下图所示,也实现了jdbc的connector,可以通过jdbc 去操作数据库,但是flink-jdbc包中对数据库的操作是以ROW来操作并且对数据库事务的控制比较死板,有时候操作关系型数据库我们会非常怀念在java web应用开发中的非常优 ...
千万级用户网站门户前端设计
对于千万级的注册用户的门户项目是前端这块是怎么去实现的,自己在平常的工作中总结了一些经验,也是在不断的挫折中,不断演练的,希望总结出来给大家参考下,和大家一起探讨,一起进步。 一、门户设计一般会遇到哪些难点 (一)、首页打开时间太慢了 在开发一个门户到生产上线后,首页响应时间是检验门户整个系统架构以 ...
java架构之路(MQ专题)kafka集群配置和简单使用
前面我们说了RabbitMQ和RocketMQ的安装和简单的使用,这次我们说一下Kafka的安装配置,后面我会用几个真实案例来说一下MQ的真实使用场景。天冷了,不愿意伸手,最近没怎么写博客了,还请见谅。 一、目标 1.知道什么是Kafka 2.懂得kafka的单机和集群安装配置 3.了解内部参数的简 ...
《Java多线程面试题》系列-创建线程的三种方法及其区别
1. 创建线程的三种方法及其区别 1.1 继承Thread类 首先,定义Thread类的子类并重写run()方法: java package com.zwwhnly.springbootaction.javabase.thread; public class MyFirstThread extend ...
Flutter之环境配置与项目搭建
Flutter之环境配置与项目搭建 一,介绍 1.1,Dart Dart 是一种 易于学习、 易于扩展、并且可以部署到 任何地方 的 应用 编程 语言。并且同时借鉴了Java和JavaScript。Dart在静态语法方面和Java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和JavaS ...
Chrome Extension 小试牛刀
自从有了Chrome以后,就喜欢上了这个浏览器,从此IE 886了。 以前作爬虫,做登录,做数据采集,做数据处理等各种功能,后来H5出来后,出现了,除了Session/Cookie 出了Local Storage,暂时还没有更好的办法获取Local Storage。由于处理的数据比较少,所以决定研究 ...