
Java
会飞的狗~
互相学习,分享营养。
展开
-
synchronized和volatile区别
synchronized和volatile区别个人理解JMM:Java Memory Model(Java内存模型),根据并发过程中如何处理、可见性、原子性和有序性这三个特性而建立的模型。 可见性:JMM提供了volatile变量定义、final、synchronized块来保证可见性。 原子性:个人理解是如果执行,就执行完,synchronized块来保证。 有序性:觉得有序是相对性的...原创 2018-04-01 22:04:25 · 3565 阅读 · 0 评论 -
2018蓝桥杯Java B组 全球变暖问题:
解题思路:需要保证第一行、第一列、最后一列和最后一行是’.’字符,需要使用两个二维字符数组分别存储原来的和变化的。算法渣渣当时只想到这种简单思维的做法,欢迎大牛留言更好的想法。import java.util.Scanner;/** * 2018蓝桥杯Java B组 全球变暖问题: * 条件: .代表海洋像素,#代表像素,相连的一块#代表岛屿,如果陆地像素左右上下某个方向有海洋便会被淹...原创 2018-04-02 17:34:21 · 1925 阅读 · 4 评论 -
腾讯-模拟考-技术研发类-移动客户端开发-2018实习生招聘
前阵子做了腾讯-模拟考-技术研发类-移动客户端开发-2018实习生招聘的笔试题目,这是个人做的第二题,题目意思很简单,就是判断四个点能否构成正方形,废话少说,直接看下面的代码,欢迎大牛留言。题目:小Q搜寻了整个世界找到了四块魔法石所在地,当四块魔法石正好能够构成一个正方形的时候将启动魔法阵,小Q就可以借此实现一个愿望。现在给出四块魔法石所在坐标,小Q想知道能否启动魔法阵输入:输入一行包括一...原创 2018-04-04 16:39:05 · 1408 阅读 · 1 评论 -
浅谈抢红包算法
刚开始觉得应该是每次抢红包都是直接随机就好了,随机上限就是剩余红包的金额,这样是有问题的,比如发100元红包,刚开始是第一个人的随机范围是(0,100),平均可以抢到50元。那么第二个人的红包(0, 50元),平均可以抢到25元,很显然每个人的几率都不一样了,后面的人比较吃亏。 先看测试:注意金额,这个是优化的算法,并不是简单类似上述直接扔个随机数那种情况,跟后面的算法效果是差不多的...原创 2018-05-02 21:30:51 · 1821 阅读 · 0 评论 -
稳了,手写生产者消费者模式代码
代码语言:kotlin、Javaimport java.util.concurrent.locks.ReentrantLock/** * kotlin * 测试主类 */fun main(args : Array<String>){ val mLock = ReentrantLock() val mCondition = mLock.newConditi...原创 2018-07-20 17:37:47 · 1971 阅读 · 0 评论 -
Java语言-手写死锁代码
public class BuyTicket{private Object a = new Object(); private Object b = new Object(); public void funA(){ synchronized (a){ try { Thread.sleep(10); ...原创 2018-08-02 11:00:40 · 1463 阅读 · 4 评论 -
Java抽象类和接口的区别
Java抽象类和接口可以说是面试求职的热点问题,几乎每场面试都会聊到这个问题。 一、抽象类 理解抽象类之前,我们先温习下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void fun();我觉得含有抽象方法的类定义为抽象类比较合适,当然你可以说抽象类可以没有方法来推翻我的定义,不过这个类都没有方法了,那么还有什么意义呢?抽...原创 2019-07-13 22:17:59 · 640 阅读 · 3 评论