Java
文章平均质量分 87
郑小源
一个不会敲代码,整天只会逗比的程序员
展开
-
手写Redis基本结构-动态字符串SDS
Redis中存字符串,是实际使用场景中最常用的方式,但是redis并没有直接使用C语言中传统的字符串表示,而是构建了一种名为简单动态字符串(SDS)的抽象类型,本文带你利用Java实现SDS基本结构。1、SDS定义我们首先看一下SDS的字符串的整体结构如下图:所以,我们首先创建一个包含free、len和char类型数组buf,代码如下:public class SDS { private static char endChar= '\0'; //字符串长度 private原创 2021-07-25 20:01:01 · 208 阅读 · 0 评论 -
Redis过期时间及过期策略
一、基本命令Redis中我们可以通过EXPIRE和PEXPIRE来设置键的生存时间(TTL),通过命令,客户端可以经过指定的秒或者毫秒为精度,对数据库中的特定键设置生存时间;同样,我们可以通过EXPIREAT命令或者PEXPIREAT命令,以秒或者毫秒精度给数据的某个键设置过期时间(expire time),其中过期时间是一个UNIX时间戳,当某个键达到国企时间时,服务器会自动从数据库中删除该键;同时redis为我们提供了TTL和PTTL命令,用于返回某个键剩余的生存时间,也就是返回距离这个键被服原创 2021-07-04 15:31:59 · 4607 阅读 · 2 评论 -
IDEA连接MySQL数据库报错08001
当IDEA链接MySQL时,有的人会报[08001]的错误,如下:Connection to test@127.0.0.1 failed.[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.我也看了好多网上的解决办法,有的没什么用,我告诉你们一个特别万能...原创 2019-11-02 19:17:33 · 949 阅读 · 0 评论 -
myeclipse创建maven项目的时候很慢然后报错
今天这个问题是大家常见到的问题,前几天楼主也碰见了,叙述一下问题的经历。打开myeclipse-->new project-->other-->Maven project然后点击next之后碰到如下界面:这个界面大家都很熟悉。问题就出在这个界面,打开这个界面的时候会一直加载,然后下面Group Id和Artifact Id都是空白,myeclipse右下角一直显示Retrievi...原创 2018-03-10 15:46:35 · 1763 阅读 · 0 评论 -
eclipse和myeclipse导入新项目引入的包出现错误解决方式
这种问题应该是一般新手都会遇到的问题,遇到这种问题不要着急,可以从一下几个途径解决(以java项目为例):1、查看出错的包是否在项目中已经引入,如果不存在,则需要将使用到的包导入到项目的lib目录下;2、由于新导入的包默认使用编译器环境下的jdk,所以导入新项目后需要更改项目使用JDK的版本,具体步骤如下:(1)、右键点击项目-->build path-->Config...原创 2017-06-02 16:36:33 · 18592 阅读 · 6 评论 -
解决maven中出现解决-Dmaven.multiModuleProjectDirectory system property is not set的问题
第一:确认一下,环境变量中是否已经配置maven变量,如果没配置,请配置环境变量,如已经配置,参考下一步;第二:打开eclipse或myeclipse,点击windows--》preferences--》Java--》installed JREs,选中使用的jdk,点击edit,在Default VM arguments中添加一下代码:-Dmaven.multiModuleProjectD原创 2017-09-20 20:06:50 · 7814 阅读 · 0 评论 -
递归和分治策略之二分搜索法
二分搜索法算法算是分治策略的一个典型的例子。给定已排好序的n个元素a[0:n-1],先要在这n个元素中找出特定的一个元素x。二分法的思想就是将n个元素分成个数大致相等的两半,根据a[n/2]与x值大小的对比,来判断下次查找的半个部分。算法描述如下:templateint BinarySearch(Type a[],const Type& x,int n){ int left=原创 2017-09-16 16:42:51 · 845 阅读 · 0 评论 -
单纯形法算法实现--java版
一般线性规划问题具有线性方程组的变量数大于方程个数,这时会有不定的解。当决策变量个数n和约束条件个数m较大时,单纯形法是求解线性规划问题的通用方法。对于单纯形法的数学运算,那是理学院学生应该关注的问题,如果有不懂的,大家可以自行百度,我这里只关注用程序实现单纯形法;本文的单纯形法算法实现,严格按照书本的计算过程实现,建议阅读前对书本进行学习,对基本步骤了解;文中用的了之前的一篇博文高斯原创 2017-09-23 00:24:37 · 5797 阅读 · 3 评论 -
高斯消元法解线性方程--Java实现
我想当你看到这篇文章的时候,已经对高斯消元法进行了一些了解了,如果还有不明白的地方,请大家自行百度,我就不在这叙述高斯消元法的求解过程了。刚开始想实现高斯消元的时候,想的比较简单,就是将每个系数存成int型,实现过程如下package com.zly.base;import java.util.Iterator;import java.util.Scanner;public cl原创 2017-09-10 09:57:13 · 5196 阅读 · 0 评论 -
抽奖活动(一)-Alias算法
抽奖活动在项目开发中其实是比较常见的问题,这篇文章主要介绍一下Alias算法解决随机类型概率问题:对于开发抽奖活动的任务来说,奖品一般放置在数据库中,而概率分为一下两种:第一种是:所有奖项的概率和为1,也就是说本次活动所有参与人员都会中奖,中奖的等级随奖品的概率而定;第二种是:所有的奖项的概率和小于1,也就是说存在未中奖的情况,其实这种情况也可以归结为第一种,将剩余的概率归到未中奖原创 2017-07-15 10:45:57 · 5260 阅读 · 2 评论 -
java的一些简单注释要求
原创 2017-06-02 22:35:28 · 256 阅读 · 0 评论 -
深入理解java虚拟机(笔记)
1、Java堆(GC堆):Java堆是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建,此内存区域的唯一目的就是存放对象事例,几乎所有的对象实例都在这里分配内存。2、Java堆可以处于物理上不连续的内存空间中。只要逻辑上是连续的就行。3、方法区的内存回收不太令人满意。4、常量池用于存放编译期生成的各种字面量和符号引用,这部分内容将在累原创 2017-06-02 10:00:38 · 516 阅读 · 0 评论