Java
文章平均质量分 80
青冬
想改变世界,却困于肉身。
展开
-
关于安全细节 Timing Attack
序since:2021年5月22日 21:12auth: Hadi参考:https://zhuanlan.zhihu.com/p/150689564https://www.oracle.com/java/technologies/javase/6u17.html前言在知乎看到一些关于安全理论的帖子,这里我也拉过来水一片博客。参考的代码为Sacla中safeEqual字符串比较相关。在String中的安全比较的源码如下:def safeEqual(a: String...原创 2021-05-22 21:31:34 · 370 阅读 · 1 评论 -
CAS Compare and Swap 比较后交换
CAS Compare and Swap 比较后交换序since: 2019年8月25日 22:44auth: Hadiupdate:2021年5月16日 22:55CAS :Compare and Swap字面意思就是比较后进行交换。在多线程中,经常有多个线程对一个公用变量进行值的更改和比较。那么在进行变量更改的时候,就必须考虑一致性的问题。产生原因当T1线程与T2线程在同时进行更改一个数据时,就会产生竞争的现象。如下图:两个线程同时对一个变量进行++的操作,那么可能会导致取数时为1原创 2021-05-16 23:13:08 · 188 阅读 · 1 评论 -
JMM内存模型
JMM内存模型序since:2019年9月2日 9:11auth: Hadiupdate: 2021年5月16日 22:36参考: https://blog.csdn.net/lxm55913153/article/details/79208126JMMJava内存模型 Java Memort Model 简称为JMM。JMM定义了java虚拟机在内存中的工作方式,是一种逻辑性的结构。JMM定义了多线程之间共享变量的可见性以及如果在需要的时候对共享变量进行同步。JMM操作类型JMM原创 2021-05-16 22:53:12 · 125 阅读 · 2 评论 -
volatile低配版syn,实现可见性和有序性
volatile低配版syn序since: 2019年8月25日 22:43auth: Hadi参考: http://ifeve.com/jvm-memory-reordering/JMM java内存模型Java Memory Model Java内存模型本身是一种抽象的概念,并不真实存在。他描述的是一组规范。通过规范定义了程序中各个变量(包括实例字段、静态字段和构成数组对象的元素)的访问方式。JMM关于同步的规定:线程解锁前,必须把共享变量的值,刷新回主内存。线程加锁前,必须原创 2021-05-16 22:33:46 · 158 阅读 · 2 评论 -
第九届蓝桥杯B组省赛。
1.标题:第几天2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容。直接计算器相减两天的时间相隔时间124则是第125天。2.标题:方格计数如图p1.png所示,在二维平面上有无数个1x1的小方格。我们以某个小方格的一个顶点为圆心画一个半径为1000...原创 2020-03-31 14:38:21 · 474 阅读 · 0 评论 -
由四种颜色组成的环,填到五个段组成的一个环上,使得各个环与相邻的颜色并不相同的组合能有多少种(全量)。
import java.util.Scanner;public class 环形填颜色 { /* 题目要求: 由四种颜色组成的环,填到五个段组成的一个环上,使得各个环与相邻的颜色并不相同的组合能有多少种(全量)。 * */ public static void main(String[] args) { /* ...原创 2019-12-27 18:55:50 · 334 阅读 · 0 评论 -
第八届蓝桥杯国赛Java b组 填字母游戏
标题:填字母游戏小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说:“我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了”。K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。并且:1. 轮到某人填的时候,只能在某个空格中填入L或O2. 谁先让字母组成了“LOL”的字样,谁获胜。3. 如果所有格子都填满了,仍无法组成LOL,则平局。小明试验了几次都输了,他很惭愧,希...原创 2018-05-15 22:14:52 · 967 阅读 · 1 评论 -
第八届蓝桥杯国赛Java b组 小计算器
package di8jie;import java.util.Scanner;public class xiaojisuanqi4 { /* * * 标题:小计算器 * * 模拟程序型计算器,依次输入指令,可能包含的指令有 * * 1. 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数 2. * 运算指令:'ADD',...原创 2018-05-15 22:11:31 · 549 阅读 · 2 评论 -
KMP字符串搜索算法 JAVA实现代码
package 其他题目;import java.util.Scanner;public class KMP字符串搜索算法 { static String str; static String all; static int [] next; public static void main(String[] args) { // TODO Auto-generated ...原创 2018-05-07 16:23:31 · 232 阅读 · 0 评论 -
NYOJ586疯牛 java实现
描述农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000,000,000).但是,John的C (2 <= C <= N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发生争斗。为了不让牛互相伤害。John决定自己给牛分配隔间,...原创 2018-05-17 19:38:31 · 284 阅读 · 1 评论 -
已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。 求满足这个条件的不同直角三角形的个数
该练练题目了,今天刷了蓝桥杯第五届B组决赛的题目。emmm觉得这道题有个点睛之笔,就写写博客吧。题目如下: 勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。 求满足这个条件的不同直角三角形的个数。【数据格式】输入一个整数 n (0<n<10000000) 表示直角三角形斜边的长度。要求输出一...原创 2018-05-02 14:22:47 · 1845 阅读 · 0 评论 -
2017第八届蓝桥杯决赛(大学B组)java试题 瓷砖样式
标题:磁砖样式小明家的一面装饰墙原来是 3*10 的小方格。现在手头有一批刚好能盖住2个小方格的长方形瓷砖。瓷砖只有两种颜色:黄色和橙色。小明想知道,对于这么简陋的原料,可以贴出多少种不同的花样来。小明有个小小的强迫症:忍受不了任何2*2的小格子是同一种颜色。(瓷砖不能切割,不能重叠,也不能只铺一部分。另外,只考虑组合图案,请忽略瓷砖的拼缝)显然,对于 2*3 个小格子来说,口算都可以知道:一共1...原创 2018-04-09 23:09:55 · 771 阅读 · 6 评论