Java
handy周
Hello World...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法实现之最大子序和
题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解决方案class Solution { public int maxSubArray(int[] nums) { int...原创 2019-03-02 21:37:13 · 306 阅读 · 0 评论 -
Java并发编程之CAS原理分析
概述在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成的。 原子性保证新值基于最新信息计算; 如果该值在同一时间被另一个线程更新,则写入将失败。 操作结果必须说明是否进行替换; 这可以通过一个简单的布尔响应(这个变体通常称为比较和设...原创 2019-02-27 12:48:23 · 371 阅读 · 0 评论 -
Java并发编程之线程池实现原理
相信如果问你,Java中由几种线程池,你也能很快的回答出四种线程池:newCachedThreadPool,newFixedThreadPool,newSingleThreadExecutor,newScheduledThreadPool,那么,你了解过这些线程池的实现原理吗?还记得它们有什么区别吗?跟着笔者复习一下。原创 2019-03-03 17:57:40 · 243 阅读 · 0 评论 -
算法实现之第一个只出现一次的字符
算法实现之第一个只出现一次的字符原创 2019-03-08 13:59:46 · 356 阅读 · 0 评论 -
算法实现之环形链表 II
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null原创 2019-03-03 11:10:29 · 276 阅读 · 0 评论 -
算法实现之环形链表
给定一个链表,判断链表中是否有环。原创 2019-03-03 10:49:12 · 565 阅读 · 0 评论 -
算法实现之数组中的第K个最大元素
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。原创 2019-03-03 10:11:02 · 811 阅读 · 0 评论 -
算法实现之买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。原创 2019-03-02 22:15:46 · 779 阅读 · 0 评论 -
算法实现之有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。原创 2019-03-02 22:05:37 · 544 阅读 · 0 评论 -
Java并发编程之自旋锁、偏向锁、轻量级锁、重量级锁
Java并发编程之自旋锁、偏向锁、轻量级锁、重量级锁原创 2019-02-27 13:26:50 · 321 阅读 · 0 评论 -
算法实现之2的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。原创 2019-03-02 16:04:08 · 301 阅读 · 0 评论 -
算法实现之反转链表
反转一个单链表。原创 2019-03-02 15:47:23 · 338 阅读 · 0 评论 -
算法实现之删除链表中的节点
题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输...原创 2019-03-02 15:33:39 · 526 阅读 · 0 评论 -
算法实现之只出现一次的数字
题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解法其实如果用HashMap等数据结构来解决,也是可以的,时间复杂度也是O(n,但是注意题目中说的是每个元素出现两次,那么可以利用异或的思想来解决,即相同为0,不同为1publi...原创 2019-03-02 15:13:10 · 222 阅读 · 0 评论 -
算法实现之反转字符串中的单词 III
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。原创 2019-03-02 12:37:37 · 252 阅读 · 0 评论 -
算法实现之反转字符串
题目编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l&qu原创 2019-03-02 12:16:50 · 392 阅读 · 0 评论 -
算法实现之在不引入其他变量的情况下让变量a和变量b互换
算法实现之在不引入其他变量的情况下让变量a和变量b互换原创 2019-03-01 13:35:20 · 1320 阅读 · 0 评论 -
算法实现之二叉树的前序、中序、后序递归和非递归遍历以及层序遍历
算法实现之二叉树的前序、中序、后序递归和非递归遍历以及层序遍历原创 2019-03-07 13:52:51 · 2525 阅读 · 0 评论 -
算法实现之数组中出现次数超过一半的数字
算法实现之数组中出现次数超过一半的数字原创 2019-03-08 13:44:33 · 301 阅读 · 0 评论 -
算法实现之字符串的排列
算法实现之字符串的排列原创 2019-03-08 13:34:56 · 242 阅读 · 0 评论 -
算法实现之二叉树的镜像
算法实现之二叉树的镜像原创 2019-03-08 13:33:38 · 459 阅读 · 0 评论 -
算法实现之二进制中1的个数
算法实现之二进制中1的个数原创 2019-03-07 23:53:02 · 318 阅读 · 0 评论 -
算法实现之用两个栈实现队列
算法实现之用两个栈实现队列原创 2019-03-07 23:22:05 · 277 阅读 · 0 评论 -
算法实现之从尾到头打印链表
算法实现之从尾到头打印链表原创 2019-03-07 23:12:06 · 216 阅读 · 0 评论 -
算法实现之链表中倒数第K个结点
算法实现之链表中倒数第K个结点原创 2019-03-07 23:04:21 · 236 阅读 · 0 评论 -
算法实现之调整数组顺序使奇数位于偶数前面
之前有用脚本打包过gradle的项目到jcenter仓库,但当时比较懒,没有记录,时间久了也容易遗忘 最近一段时间在预研ijkplayer的源码,之前有接触过ffmpeg的移植,想进行二次封装新开一个库NewPlayer在NewPlayer-Lib目录下配置Gradle进入jcenter官网 https://bintray.com 登陆进去(注册就不用多说了) 点击Yo原创 2019-03-07 23:03:40 · 419 阅读 · 0 评论 -
算法实现之由N×N个小方格组成的正方形中包含有多少个正方形
由N×N个小方格组成的正方形中包含有多少个正方形原创 2019-03-01 13:30:23 · 6111 阅读 · 3 评论 -
算法实现之合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。原创 2019-03-04 13:49:36 · 1023 阅读 · 0 评论 -
算法实现之合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2019-03-04 13:19:23 · 3104 阅读 · 0 评论 -
Java并发编程之CyclicBarrier、CountDownLatch和Semaphore
Java并发编程之CyclicBarrier、CountDownLatch和Semaphore同步屏障指的是: 让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。原创 2019-03-03 23:09:59 · 747 阅读 · 0 评论 -
Java并发编程之偏向锁、轻量级锁、重量级锁
Java并发编程之偏向锁、轻量级锁、重量级锁原创 2019-03-03 21:49:23 · 319 阅读 · 0 评论 -
Java并发编程之线程的状态图
Java并发编程之线程的状态图原创 2019-03-03 21:23:53 · 341 阅读 · 0 评论 -
算法实现之二叉树的深度
算法实现之二叉树的深度原创 2019-03-08 18:16:03 · 1981 阅读 · 0 评论 -
Java并发编程之内存模型
在Java中,所有实例域、静态域和数组元素都存储在堆内存中,堆内存在线程之间共享。局部变量,方法定义参数和异常处理器参数不会在线程之间共享,它们不会有内存可见性问题,也不受内存模型的影响。原创 2019-02-27 13:35:09 · 183 阅读 · 0 评论 -
List去掉重复对象
去掉重复对象使用Set排重public class Bean { public int uid; public String name; public Bean(int uid, String name) { this.uid = uid; this.name = name; } @Override public boolea原创 2016-06-03 10:18:49 · 448 阅读 · 0 评论 -
基础巩固只Java虚拟机运行时数据区
认识Java虚拟机从运行时数据区开始Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,根据《Java 虚拟机规范(Java SE 8版)》的规定,Java虚拟机所管理的内存包括一下几个运行时数据区域:PC寄存器 Java虚拟机支持多条线程同时执行,每条Java虚拟机线程都有自己的PC寄存器。 在任意时刻,一条Java虚拟机线程只...原创 2018-04-13 00:04:06 · 325 阅读 · 0 评论 -
Java多线程之synchronized关键字
目录 前言场景知其所以然注意小结前言关于synchronized这个关键字,笔者这里不想像书中一样,用大量的示例来做演示,希望通过一个例子,作归纳和总结。场景已知存在一个类Sample(该类有两个实例对象sampleAlpha,sampleBeta),如下图所示。public class Sample { private Object loc...原创 2018-04-16 23:59:32 · 298 阅读 · 0 评论 -
Java多线程之图解volatile语义
目录 前言volatile特性volatile写内存语义volatile读内存语义小结前言网上也好,书上也好,有很多关于volatile关键字的内容,但是今天还是想整理记录一份。volatile特性volatile关键字最主要的作用是保证共享变量在多线程之间的可见性,但不保证原子性,什么意思呢?我们先看张图了解一下: 线程里的变量属于线程内部的本地变量,...原创 2018-04-16 21:26:52 · 373 阅读 · 0 评论 -
Nginx配置Tomcat集群服务器的负载均衡
测试环境:物理机:ubuntu 16.04虚拟机:Centos 7.2记录一下学习的过程。1.准备工作: A.下载nginx稳定版本,笔者下载的是nginx-1.12.0 B.下载tomcat 8.5.15 C.配置好虚拟机的系统Nginx Server:192.168.100.128Tomcat ServerA:192.168.100.129Tomcat ServerB:192.168原创 2017-06-11 12:57:26 · 661 阅读 · 0 评论 -
Java架构师之路
朋友,你渴望力量吗?1.工程化专题2.源码分析专题3.性能优化专题4.分布式专题5.双十一架构专题脑图非笔者原创,源自咕泡学院 用于警示自己,学无止境!!!原创 2017-06-14 20:52:27 · 645 阅读 · 0 评论
分享