首页
学习
活动
专区
工具
TVP
发布

Java开发者杂谈

专栏作者
86
文章
96408
阅读量
43
订阅数
如何看git的revision graph
revision graph可以看做是一个版本的树图,通常用来做上线之前的版本check,以防有分支代码未合入进来。
SecondWorld
2022-05-06
1.3K0
solidity开发1 - 编程环境简要说明
简单起见,直接使用在线的remix ide,对应的网址为: https://remix.ethereum.org/
SecondWorld
2022-05-06
6460
solidity开发2-合约结构
合约 在solidity中的合约可以类比看做java等面向对象语言中的类。合约可以包含状态变量、函数、函数修饰符、事件、错误、结构体、枚举类型等等。 还有一些特殊的合约可以被称作库或者接口 状态变量 状态变量指的是永久存在区块链合约中的变量。 state variables // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.4.0 <0.9.0; contract SimpleStorage { uint storedData; //
SecondWorld
2022-05-06
1980
solidity开发3-类型1
M的取值范围为8的倍数且为:[8, 256], N的取值范围为:[0, 80]。 fixed/ufixed:则是fixed128x18/ufixed128x18
SecondWorld
2022-05-06
3460
分苹果
思路一: 我们令f(M)(N)表示M个苹果正好使用N个盘子时的分法个数(当M<N时f(M)(N) = 0)。 假设没有空盘子,则如果M>N,题目可以转换为f(M)(N) = f(M-N)(N) 假设有空盘子,则可以按照空盘子的个数来递归求解,即只有一个空盘子的情况解为:f(M)(N-1), 只有两个空盘子时解为:f(M)(N-2) .... 有N-1个空盘子时,解为f(M)(1)
SecondWorld
2022-05-06
2820
Mysql与Oracle中修改列的默认值
背景: 业务发展需要,需要复用历史的表,并且通过表里面原来一个未使用的字段来区分不同的业务。 于是想到通过default来修改列的默认值: alter table A modify column biz default 'old' comment '业务标识 old-老业务, new-新业务' 现象: 上线几天之后,业务反馈旧业务的相关数据查询不到了。找后台运维查生产数据库,发现历史数据的biz字段还是null 原因: 自己在本地mysql数据库试了下,好像的确是default没法修改历史数据为null
SecondWorld
2021-09-08
12.9K0
浅谈浮点数(一)
小数与浮点数 很多人都会认为,小数就是浮点数。但其实非也。 小数只是一种实数的一种特殊表现形式,所有分数都可以用小数来表示。 而浮点数,是计算机领域的一个术语,浮点数代表着目前计算机表示小数的一方式。 ---- 浮点数的由来 我们都知道计算机表示特定的数据类型长度是固定的。 比如在java语言里,小数的表示,float是4字节,double是8字节。 那么这些固定长度的二进制位是如何表示小数的呢? 最直观的表示办法就是:固定的整数部分位数和固定的小数部分位数。比如以float为例,我们假设取前8位表示整数部
SecondWorld
2021-08-06
5170
乱码案件
注意代码中加注释的地方。 找到原因:对方返回报文未指定编码格式导致使用了默认的UTF-8格式解码导致。
SecondWorld
2021-07-28
4640
浅谈https中的双向认证
总述 https简单来说就是在http协议的基础上增加了一层安全协议。通常为TLS或者SSL(一般现在都采用TLS,更加安全)。这一层安全协议的最主要的作用有两个: 1. 验证服务端或客户端的合法性
SecondWorld
2021-07-28
2K0
Guava Cache使用的三种姿势
姿势一 使用expiredAferWriter 优点 简单 粗暴 缺点 同步阻塞问题:如果多个线程同时请求同一个过期的key,只有一个线程能够获得去加载缓存的锁,但是其他未获取加载缓存锁的线程也会阻塞
SecondWorld
2021-07-28
9870
白话区块链之零知识证明1
定义 百度百科中关于零知识证明的定义如下:零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。 它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。 证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零知识证明在密码
SecondWorld
2021-07-27
4860
浅谈SpringBean的生命周期
总述 Spring Bean的生命周期是一个老生常谈的问题,笔者之前因为面试也看过不少相关的文章。发现每个文章写得都不太一样,有的多有的少。最近在重翻Spring源码的时候,发现`org.springframework.beans.factory.BeanFactory`中对整个过程在注释中写得非常详细,遂整理下来,方便后续查看。 ---- show me the code 下面直接给出BeanFactory上面的注释代码: Bean factory implementations should suppo
SecondWorld
2021-07-27
2150
一文理解java对象初始化顺序
​ 由类加载器负责根据一个类的全限定名来读取此类的二进制字节流到JVM内部,并存储在运行时内存区的方法区,然后将其转换为一个与目标类型对应的java.lang.Class对象实例
SecondWorld
2019-11-01
5010
图说jdk1.8新特性(5)--- 编译器新特性
/** * Returns the name of the parameter. If the parameter's name is * {@linkplain #isNamePresent() present}, then this method returns * the name provided by the class file. Otherwise, this method * synthesizes a name of the form argN,
SecondWorld
2019-10-31
3160
图说jdk1.8新特性(4)--- stream
总述 jdk1.8引入了Stream相关的API,通过该API。可以实现流式编程,使你写代码的时候行云流水 Stream使得集合的转换变得更加简单,原来可能需要写多个for循环或者多个if判断的,直接
SecondWorld
2019-10-31
4450
图解jdk1.8新特性(3)--- 注解与类型推测优化
​ jdk1.8的java.lang.Class类新增了方法getAnnotationsByType方法,该方法可以获取某一个类型的注解列表,具体代码示例如下:
SecondWorld
2019-10-29
4160
图解jdk1.8新特性(1)
图解jdk1.8新特性(1) 函数式接口 总结起来就以下几点: 如果一个接口要想成为函数接口(函数接口可以直接用lambda方式简化),则必须有且仅有一个抽象的方法(非default和static)
SecondWorld
2019-10-24
3920
图解jdk1.8新特性(2)---Lambda
图解jdk1.8新特性(2)---Lambda 简要说明 jdk常用函数式接口 Predicate @FunctionalInterface public interface Predicate<T>
SecondWorld
2019-10-24
2610
Linu如何查看磁盘占用情况及处理办法
df: 查看文件系统磁盘使用率,可能free -h得到的剩余空间还有很多,但是df查询得到的部分文件系统磁盘使用率较高
SecondWorld
2019-10-23
8810
ThreadLocal剧集(一)
    最近做了一个日志调用链路跟踪的项目,涉及到操作标识在线程和子线程,线程池以及远程调用之间的传递问题。最终采用了开源的TransmittableThreadLocal插件(https://github.com/alibaba/transmittable-thread-local)完美解决。在分析源码以及中途修复bug的过程中,被ThreadLocal搞得晕头转向。好在静下心来细细啃了一下午,终于能理解各种ThreadLocal相关问题了。这里准备用博客记录下来。
SecondWorld
2019-03-21
3310
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档