合并两个有序数组[LeetCode]
题目描述
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
说明:
初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
示例:
输入:
nums1 = [1,2,3,0,0,0], m =...
关于wordpress自动更新详解
前言
web自动更新,这样方便使用者能够可以较安全的使用web程序,并且开发者及时更新也是对使用者的负责,修复bug和优化使用。可以让web程序更符合“我”为“人人”这一理念。所以,我自己花了段时间仔细的研究了下wordpress自动更新的背后故事。
贴出来官网文档关于wordpress更新的相关说明
https://codex.wordpress.org/Upgrading_WordP...
Tomcat问题排查
Tomcat问题排查
转自how2java
列罗出了Tomcat常见的问题,如不能启动,屏幕一闪而过,启动之后,访问总是出现404等等常见问题。 以下排查手段都是针对通过startup.bat 独立方式启动的Tomcat,集成开发环境IDE(IDEA,ECLIPSE,MYECLIPSE等) 下的Tomcat启动不在此知识点讨论范围之内。
JAVA_HOME
现象:点击st...
买卖股票的最佳时机I&II[leetcode]
买卖股票的最佳时机II
题目描述
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。
示例 1:
输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候...
转置矩阵[leetcode]
题目描述
给定一个矩阵 A, 返回 A 的转置矩阵。
矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
示例 1:
输入:[[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]
示例 2:
输入:[[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]
分析
设数组中元素坐标...
给小白讲讲Java虚拟机中的类加载
作为一个合格的java程序猿,类加载机制可谓是老生常谈,也是面试中经常会问到的一个问题,那么到底什么是类加载呢?
第一步:初始化虚拟机,产生启动类加载器ClassLoader(用于将类加载到虚拟机中)
第二步:创建一个字节数组读取.class(二进制文件)文件到内存中
第三步:创建与所加载类的Class对象
第四步:进入连接阶段,包括验证(确保.class文件的字节流中包含的信息符合当前虚...
java关键字之final,finally,finalize
final用于修饰属性,方法和类,分别代表属性不可变(之后不可进行修改操作),方法不可覆盖,类不可被继承
finally是异常处理语句结构的一部分,进行捕获异常时用来执行必须在异常处理或抛出后要执行的操作,比如说IO流的关闭,连接的断开,资源的释放等。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关...
浅谈Java中equals()和==的区别
一.先来说说Java的基本数据类型和引用类型
八大基本数据类型:Byte,short,int,long,double,folat,boolean,char,其中占一个字节的是byte,short和char占两个字节,int,float占四个字节,double和long占8个字节,boolean只有true和false,这八种数据变量中直接存储值
八大基本数据类型对应着各自的封装类型,提供了更多...
Java程序员必会的多线程和并发(一)
一.首先来说下进程和线程的区别
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个基本单位,一个进程下可以有多个线程运行。
线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只有必要的资源(程序计数器,一组寄存器和栈),但是他可以与同属于一个进程的其他线程共同享有进程所拥有的全部资源。...
从哈希码(hashCode)详解Java中equals和==的区别
一.什么是哈希码
在Java中,哈希码是一个对象的标识,根据不同的对象用不同的算法生成哈希码,如果两个对象不同哈希码也不相同
Object对象的哈希码根据对象的内存地址来生成,所以只要在内存中的地址不同,hashcode也不同
String引用类型的hashcode根据字符串里的内容由特殊算法来生成,字符串相同,hashcode也相同
Integer的哈希码就是对象里存储的数值,比如Int...
多线程和并发(二)使用synchronized 让线程按顺序执行
一.先来说说线程为什么执行不按顺序执行
由于在同一个进程内存在多个线程,线程都想占有着稀缺的CPU资源去完成任务和工作(有一部分资源是所有线程共享的),但是cpu资源到底分配谁呢?是这样的,多个线程共同竞争CPU时,存在多种分配策略,但是每种策略下每个线程只是在很短的时间内占有cpu,这段时间就是时间片,到了线程的时间片,就开始执行任务,一旦时间片结束,资源立马被释放,任务也停止,别的线程获得资...
多线程和并发(三)使用join方法让线程按顺序执行
一.线程的join方法作用
join方法把指定的线程添加到当前线程中,可以不给参数直接thread.join(),也可以给一个时间参数,单位为毫秒thread.join(500)。事实上join方法是通过wait方法来实现的。比如线程A中加入了线程B.join方法,则线程A默认执行wait方法,释放资源进入等待状态,此时线程B获得资源,执行结束后释放资源,线程A重新获取自CPU,继续执行。由此实...
多线程和并发(四)使用newSingleThreadExecutor让线程按顺序执行
newSingleThreadExecutor是用来创建线程池(关于线程池以后专门介绍)的一种方法,表示创建一个单线程的线程池,这种情况下只有一个线程在工作,如果这个线程由于各种原因结束,则会创建一个新的线程来代替他。当任务提交时会按顺序插入任务队列,执行时从队列头部取出任务执行,保证了所有任务的执行顺序按照提交顺序来执行
接下来做个简单的测试(后期讲解线程池时再详细介绍),首先创建三个线程任务...
String,StringBuffer,StringBuilder拼接速度的测试
Java面试汇总中老是会有String,StringBuffer,StringBuilder的区别这种面试题,统一的回答是:
三者连接速度由快到慢:StringBuilder,StringBuffer,String
StringBuilder非线程安全,StringBuffer线程安全
String是字符串常量,二StringBuilder和StringBuffer为字符串变量,也就是说S...
多线程和并发(五)volatile关键字
一,什么是volatile?
很多人都听说过volatile,估计用过的人远没有听过的人多。volatile和synchronized(https://mp.csdn.net/postedit/81675479)一样,都是Java用来实现同步机制的一种手段,当变量声明为volatile时,代表这个变量是共享的,当前线程对它进行的操作都会立即对其它线程可见,也就是保证了可见性,既然提到了可见性,就...
设计模式(一)单例模式
一.什么是单例模式
有过项目开发经验的大佬肯定都知道也用过这个广为程序猿所知的设计模式,在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例,即一个类只有一个对象实例。在实现单例模式的时候要记住,由于要保证实例只有一个,自己来完成实例的创建,所以要提供无参构造方法(否则系统会提供默认的构造方法,默认是public,会导致其他类可以通过默认构造...
基于MapXtremeJava4.8的Web GIS的开发
1.web gis概念地理信息系统 (GIS,Geographic Information System) 是一种基于计算机的工具,它可以在地球上存在的东西和发生的事件进行成图和分析。WebGIS 是Internet 技术应用于GIS 开发的产物.GIS 通过WWW 功能得以扩展,真正成为一种大众使用的工具。从WWW 的任意一个节点,Internet 用户可以浏览WebGIS 站点中的空间数...
JDBC-基于C3p0配置连接
简易版的c3p0连接。
1.项目整体结构
这里的两个c3p0jar包必须有。
可以去http://mvnrepository.com/搜索jar包名下载,别浪费积分去csdn里面下载了...小编以前被坑过很多次。
2.新建c3p0-config.xml文件
命名必须为c3p0-config.xml,
必须放在src目录下,c3p0包会默认加载src目录下的c3p0-...
RSA加密算法(仅公钥加密,私钥解密)
1.RSA的介绍
RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
想了解算法的可以去这个链接了解一下,介绍挺详细的。
...
linux监控器,监控centos的cpu和内存使用情况
package LinuxMonitorUtils;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.H...
今日推荐
周排行