Java
handy周
Hello World...
展开
-
算法实现之数组中出现次数超过一半的数字
算法实现之数组中出现次数超过一半的数字原创 2019-03-08 13:44:33 · 182 阅读 · 0 评论 -
Java并发编程之线程池实现原理
相信如果问你,Java中由几种线程池,你也能很快的回答出四种线程池:newCachedThreadPool,newFixedThreadPool,newSingleThreadExecutor,newScheduledThreadPool,那么,你了解过这些线程池的实现原理吗?还记得它们有什么区别吗?跟着笔者复习一下。原创 2019-03-03 17:57:40 · 143 阅读 · 0 评论 -
算法实现之第一个只出现一次的字符
算法实现之第一个只出现一次的字符原创 2019-03-08 13:59:46 · 262 阅读 · 0 评论 -
算法实现之环形链表 II
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null原创 2019-03-03 11:10:29 · 164 阅读 · 0 评论 -
算法实现之环形链表
给定一个链表,判断链表中是否有环。原创 2019-03-03 10:49:12 · 501 阅读 · 0 评论 -
算法实现之数组中的第K个最大元素
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。原创 2019-03-03 10:11:02 · 724 阅读 · 0 评论 -
算法实现之买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。原创 2019-03-02 22:15:46 · 642 阅读 · 0 评论 -
算法实现之有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。原创 2019-03-02 22:05:37 · 458 阅读 · 0 评论 -
算法实现之最大子序和
题目给定一个整数数组 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 · 211 阅读 · 0 评论 -
算法实现之2的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。原创 2019-03-02 16:04:08 · 223 阅读 · 0 评论 -
算法实现之反转链表
反转一个单链表。原创 2019-03-02 15:47:23 · 245 阅读 · 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 · 445 阅读 · 0 评论 -
算法实现之只出现一次的数字
题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解法其实如果用HashMap等数据结构来解决,也是可以的,时间复杂度也是O(n,但是注意题目中说的是每个元素出现两次,那么可以利用异或的思想来解决,即相同为0,不同为1publi...原创 2019-03-02 15:13:10 · 149 阅读 · 0 评论 -
算法实现之反转字符串中的单词 III
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。原创 2019-03-02 12:37:37 · 174 阅读 · 0 评论 -
算法实现之反转字符串
题目编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l&qu原创 2019-03-02 12:16:50 · 318 阅读 · 0 评论 -
Java并发编程之CAS原理分析
概述在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成的。 原子性保证新值基于最新信息计算; 如果该值在同一时间被另一个线程更新,则写入将失败。 操作结果必须说明是否进行替换; 这可以通过一个简单的布尔响应(这个变体通常称为比较和设...原创 2019-02-27 12:48:23 · 275 阅读 · 0 评论 -
Java并发编程之自旋锁、偏向锁、轻量级锁、重量级锁
Java并发编程之自旋锁、偏向锁、轻量级锁、重量级锁原创 2019-02-27 13:26:50 · 258 阅读 · 0 评论 -
Java并发编程之内存模型
在Java中,所有实例域、静态域和数组元素都存储在堆内存中,堆内存在线程之间共享。局部变量,方法定义参数和异常处理器参数不会在线程之间共享,它们不会有内存可见性问题,也不受内存模型的影响。原创 2019-02-27 13:35:09 · 127 阅读 · 0 评论 -
算法实现之字符串的排列
算法实现之字符串的排列原创 2019-03-08 13:34:56 · 159 阅读 · 0 评论 -
算法实现之二叉树的镜像
算法实现之二叉树的镜像原创 2019-03-08 13:33:38 · 312 阅读 · 0 评论 -
算法实现之二进制中1的个数
算法实现之二进制中1的个数原创 2019-03-07 23:53:02 · 228 阅读 · 0 评论 -
算法实现之用两个栈实现队列
算法实现之用两个栈实现队列原创 2019-03-07 23:22:05 · 198 阅读 · 0 评论 -
算法实现之从尾到头打印链表
算法实现之从尾到头打印链表原创 2019-03-07 23:12:06 · 144 阅读 · 0 评论 -
算法实现之链表中倒数第K个结点
算法实现之链表中倒数第K个结点原创 2019-03-07 23:04:21 · 150 阅读 · 0 评论 -
算法实现之调整数组顺序使奇数位于偶数前面
之前有用脚本打包过gradle的项目到jcenter仓库,但当时比较懒,没有记录,时间久了也容易遗忘 最近一段时间在预研ijkplayer的源码,之前有接触过ffmpeg的移植,想进行二次封装新开一个库NewPlayer在NewPlayer-Lib目录下配置Gradle进入jcenter官网 https://bintray.com 登陆进去(注册就不用多说了) 点击Yo原创 2019-03-07 23:03:40 · 223 阅读 · 0 评论 -
算法实现之二叉树的前序、中序、后序递归和非递归遍历以及层序遍历
算法实现之二叉树的前序、中序、后序递归和非递归遍历以及层序遍历原创 2019-03-07 13:52:51 · 2141 阅读 · 0 评论 -
算法实现之合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。原创 2019-03-04 13:49:36 · 908 阅读 · 0 评论 -
算法实现之合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2019-03-04 13:19:23 · 2997 阅读 · 0 评论 -
Java并发编程之CyclicBarrier、CountDownLatch和Semaphore
Java并发编程之CyclicBarrier、CountDownLatch和Semaphore同步屏障指的是: 让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。原创 2019-03-03 23:09:59 · 663 阅读 · 0 评论 -
Java并发编程之偏向锁、轻量级锁、重量级锁
Java并发编程之偏向锁、轻量级锁、重量级锁原创 2019-03-03 21:49:23 · 219 阅读 · 0 评论 -
Java并发编程之线程的状态图
Java并发编程之线程的状态图原创 2019-03-03 21:23:53 · 231 阅读 · 0 评论 -
算法实现之二叉树的深度
算法实现之二叉树的深度原创 2019-03-08 18:16:03 · 1870 阅读 · 0 评论 -
算法实现之在不引入其他变量的情况下让变量a和变量b互换
算法实现之在不引入其他变量的情况下让变量a和变量b互换原创 2019-03-01 13:35:20 · 1210 阅读 · 0 评论 -
算法实现之由N×N个小方格组成的正方形中包含有多少个正方形
由N×N个小方格组成的正方形中包含有多少个正方形原创 2019-03-01 13:30:23 · 4870 阅读 · 3 评论 -
算法实现之爬楼梯
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。原创 2019-03-01 13:21:19 · 6035 阅读 · 0 评论 -
Java多线程之图解volatile语义
目录 前言volatile特性volatile写内存语义volatile读内存语义小结前言网上也好,书上也好,有很多关于volatile关键字的内容,但是今天还是想整理记录一份。volatile特性volatile关键字最主要的作用是保证共享变量在多线程之间的可见性,但不保证原子性,什么意思呢?我们先看张图了解一下: 线程里的变量属于线程内部的本地变量,...原创 2018-04-16 21:26:52 · 298 阅读 · 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 · 584 阅读 · 0 评论 -
Java架构师之路
朋友,你渴望力量吗?1.工程化专题2.源码分析专题3.性能优化专题4.分布式专题5.双十一架构专题脑图非笔者原创,源自咕泡学院 用于警示自己,学无止境!!!原创 2017-06-14 20:52:27 · 560 阅读 · 0 评论 -
SpringBoot开始微服务架构
简单记录一下学习过程记得之前SpringMVC的时候,一大堆XML配置搞得人头大,而现在SpringBoot这种微服务架构越来越流行,与他的简单配置分不开。1.新建一个Maven项目2.新建Application源文件内容如下package cn.byhook.maven;import org.springframework.boot.SpringApplication;import org.sp原创 2017-06-15 22:39:29 · 381 阅读 · 0 评论 -
开始第一个SpringMVC
Android Studio和Idea师出同门 Idea可以说是Java Web开发利器下面是笔者的第一个maven项目,很简单,只是记录一下过程,轻拍 打开idea新建一个maven项目填写包名和项目名点击Next完成项目创建 如果出现mvn archetype:generate速度非常缓慢 建议如下设置改为本地获取VM Options: -DarchetypeCatalog=intern原创 2016-08-11 23:27:21 · 1081 阅读 · 0 评论