自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

freezeriver的博客

随笔为主,大佬轻喷

  • 博客(37)
  • 收藏
  • 关注

原创 java中关于字符串比较的写法

java中关于字符串比较的写法写这篇博客的原因是因为最近工作中又踩坑了,为了让自己记得更清楚些,特地整理了一番来警示自己。1.==(别这么搞,除非不想干了)众所周知,在java中对于引用类型而言,==比较的是两个对象的地址 String str1 = "xyz"; String str2 = "xyz"; String str3 = new String("xyz"); Syste...

2019-09-01 17:41:04 350

原创 Electron环境搭建

Electron环境搭建最近学习中用到了Electron,特此整理一波一.什么是Electron​ Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron将Chromium和Node.js合并到了同一个运行时环境中。这么说可能你还是不明白Electron能用来做些什么,简单来说,使用Electron你可以利用Ht...

2019-08-20 22:52:22 278

原创 LeetCode 只出现一次的数字

这里我会记录三道题,都是与只出现一次的数字相关的,题目本身难度不大,但问题的切入点非常具有借鉴意义。给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4拿到这个问题,还...

2018-10-22 21:03:47 172

原创 C++ STL迭代器失效的情况

面试的时候碰到的一道题,答的稀烂,特意查了一下资料,在此做下总结其实失效的情况无非是对当前的STL容器进行了修改,这里尤其应该注意这样一个概念,迭代器不能看作是指针,迭代器不能看作是指针,迭代器不能看作是指针,重要的事情说3遍!!!下面列举一下具体会有问题的情况:(1)先说删除元素对于vector和string,删除点之前的迭代器,指针和引用都是有效的,off-the-end迭代器总是失效...

2018-10-22 20:59:35 217

原创 java中的引用(强引用,软引用,弱引用,虚引用)

1.强引用(StrongReference)最常见的引用,实现也很简单Object o = new Object();特点:强引用对象是个倔脾气,在JVM停止运行时才会终止,不然就算是置为null,甚至是OOM了也不会被GC2.软引用先说一下为什么要使用软引用,实际工作中可能会有这样的场景:我们需要查询我们之前几分钟的时间中查询的数据,一般来说,想快速获取到这些数据的话,需要把这些数据放...

2018-10-22 20:55:46 123

原创 leetCode 买卖股票的最佳时机 II

题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这...

2018-10-22 20:52:24 112

原创 Leetcode旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k...

2018-10-08 14:51:09 100

原创 leetCode 有效三角形的个数

给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。示例:输入: [2,2,3,4]输出: 3解释:有效的组合是:2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,3思路1:判断能否构成三角形的基础办法是任意两边之和大于第三条边,那么暴力的去解决就得选取两条边,再选取第三条边进行比较,时间复杂度O(n^3),复杂度有点高。思路2:...

2018-09-24 10:32:51 653

原创 希尔排序

希尔排序是插入排序的优化版本,特色在于隔位分组进行插入排序,网上有很多讲原理的博客,这里我就不细写了。希尔排序的思想优化点在于如果一个数组越接近于有序,那么插入排序的效率越高。把整个代码流程实现拆开可以变成3部分:(1)取步长(2)按步长分组(3)组内插入排序具体代码实现:/** * 希尔排序 * @param array */ public s...

2018-09-24 10:27:31 129

原创 为什么要重写equals和HashCode方法

同事问我的题,说我答不上来没法留在公司工作,答的不是很好,特此整理一下。对于这个问题,我觉得首先应该去思考的是原来的equals方法和HashCode方法是什么样的。原生的hashCode值是根据内存地址换算出来的一个值。原生的equals方法是严格判断两个对象是否相等的方法(object1 == object2)。然而在实际的应用过程中,我们需要的相等往往并不是绝对相等,而是对应的属性相...

2018-09-24 10:03:14 201

原创 为什么要使用线程池及常用的几种线程池

上次做笔试题的时候遇到的题,结果根本不会答,总的来说这道题还是蛮基础的,特此整理一下新技术的产生往往与日常生活开发中的问题息息相关,线程池也不例外。构建服务器应用的一个简单模型是,每当一个请求到达就创建一个新线程,而这样的缺陷也十分明显,每有一个请求就创建一个线程,这样所产生的资源消耗是非常巨大的,而在实际应用的大部分情况中,这些请求处理的时间很短但数量却是无比巨大的,除创建线程外,销毁线程也...

2018-09-24 10:01:14 3164

原创 java中Array和ArrayList的区别

这两个在平时的工作中都时常用到,偶然间发现面试还问这个,特地整理一下简单来说,ArrayList是一个长度可以自动增长的Array其实上面一句话就道尽了两者最核心的区别(1)长度:Array长度固定,ArrayList可以动态扩容(2)效率:效率上Array>ArrayList,原因自然在于ArrayList动态扩容造成了效率损耗两者之间的转换也非常简单:(1)Array转Arr...

2018-09-24 09:58:19 1886

原创 抽象类与接口的区别

这道题可以说是面试中的常客了,除当前这个问题外,还有可能会问这两者应用场景的区别,这里特此记录一下。抽象类为子类生成了一个通用模板,当你希望子类中的方法有默认实现,便可以使用抽象类而接口则是抽象方法的集合,如果一个类实现了某个接口,就必须给出接口中的所有方法实现。关于二者的不同,我觉得网上有张图很不错:关于这二者的使用场景问题:1.第一点应该想到接口与类的使用场景区别,当需要多重继承的...

2018-09-24 09:55:59 130

原创 final,finally,finalize的区别

1、final是个修饰符,final可用于修饰变量,方法和类,要记住final的作用很简单,只需记住变量不可变,方法不可重写,类不可继承。2.finally常与try,catch语句一起用于异常处理,其结构一般为:try{.......}catch(Exception e){.......}finally{......}finally块的作用就是保证无论发生什么情况,fin...

2018-09-02 13:39:01 102

原创 Cron表达式

工作上有用到这个,第一次听说这个概念,特来学习一下。 所谓Cron表达式,其实就是一个字符串,由6或7个由空格分隔的时间字段组成。 cron表达式的主要功能是能让调度器完成定时任务 先给出一个示例: 0 0/5 14 ? 每天14点到15点每5分钟运行一次,开始于14:00,结束于14:55。 可以看见里面有好几个特殊字符,下面具体说明一下 星号():可用在所有字段中,表示对应时...

2018-09-01 13:39:37 326

原创 读取不定长数组的写法

在做算法题时,我们可能会遇到接收不定长数组的情况,比如说这样的输入情况: 7 8 1 9 3 4 即数据按一行来输入,中间以空格分割。 对于这样的输入数据,java可以这样来处理public static void main(String[] args) { Scanner in = new Scanner(System.in); String str...

2018-09-01 11:38:18 1498

原创 Orcale中DUAL表

dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录(一行一列)。我们可以用它来做很多事情,如下:  1、查看当前用户,可以在 SQL Plus中执行下面语句 select user from dual;  2、用来调用系统函数  select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from du...

2018-09-01 11:35:21 168

原创 爬虫获取ajax请求数据

做网页爬虫的时候时常会碰到ajax动态请求的数据,往往这些数据还很有用,以前我做的时候都是用selenium+plantomjs来模拟网页解析,但总感觉这样的方法治标不治本。这样的数据肯定是可以用抓包的方式抓取到的,关键是怎么完成代码。 要抓取的xhr信息如下: 这个界面谷歌浏览器F12就能出现,点开能找到我们想要的请求URL和其他的一些信息 代码上我用java的Jsoup实现:...

2018-08-27 23:05:29 1905

原创 java读取properties配置文件

public static void init() { properties = new Properties(); try{ //获取classes路径下文件的路径 InputStream inputStream = MailConfig.class.getClassLoader().getResourceA...

2018-08-27 22:56:54 117

原创 maven install jar包的方法

最近在用jacob的时候出现了在pom文件配置但依旧找不到的错误,没办法,想着自己添加吧,结果程序打包又报错了组里的大佬给了我解决方案,利用maven install jar包即可解决 第一行这么写是因为我本机没配置maven的环境变量,有环境变量直接用第2行就行了set path=%path%;D:\maven3.2.1\bin;mvn install:install-file...

2018-08-27 22:54:28 2623

原创 java字符串判断其是否包含指定子字符串

public static void main(String[] args) { String str = "A/B_Test"; if(str.indexOf("Test")!=-1){ System.out.println("包含"); } else{ System.out.println("不包含"); }}...

2018-08-27 22:52:22 422

原创 归并排序

归并简单来理解就是划分到底(一个元素),再一层层向上合并,最终形成有序数组/** * 归并 * * @param array * @param low * @param mid * @param high */public static void merge(int[] array,int low, int mid,int high){ int[] tmp = new ...

2018-08-27 22:50:41 93

原创 简单选择排序

简单选择排序思路在于每轮选取最x~n-1的最小值,然后将其放到指定位置具体代码实现如下:/** * 简单选择排序 * 第一轮选取下标0~n-1中最小的数放到位置0上,第二轮选取下标1~n-1中最小的数放到位置1上,往后以此类推 * @param array */ public static void selectionSort(int[] a...

2018-08-21 22:37:12 122

原创 windows创建计划任务

schtasks /create /tn “定时任务名” /tr D:\daka\run1.bat /sc weekly /d MON,TUE,WED,THU,FRI /st 16:00 代码意思是创建一个计划任务在每周的周一至周五16点运行其他具体的指令和用法可以百度schtasks学习...

2018-08-20 23:16:23 545

原创 bat文件后台运行方法

平常我们跑bat程序,会发现有一个黑乎乎的命令行窗口,很影响美观性,同时如果我在当前bat脚本里面运行程序的话,一旦关闭这个黑乎乎的窗口,就会将启动的程序连带着关闭。 这里我总结了网上几个解决该问题的方法 1.利用bat隐藏窗口的命令@echo offif “%1” == “h” goto beginmshta vbscript:createobject(“wscript.shel...

2018-08-20 23:14:45 17243 3

原创 基数排序

基数排序是建立在桶排序上的一种算法 基本的算法思路上是统计数字的每一位进行桶排序,全部位都执行一遍后即可得到有序数组/** * 基数排序 * 每一层统计数字当前层中0~9出现的个数,利用桶排序对数组进行排序,所有位排完序后便可得到有序数组 * @param array */ public static void radixSort(int[] array){ ...

2018-08-20 23:11:13 102

原创 简单插入排序

插入排序算法流程: (1)先取出数组第一个元素 (2)取出数组第二个元素,与第一个元素比较 …………… (3)取出数组第n个元素,在前n-1个已排序好的元素中从后往前找到能依旧保持有序的位置插入代码如下:/** * 简单插入排序 * 插入排序流程:每次保证前n位有序,然后把n+1位插入到前n位有序数组的指定位置 * @param array ...

2018-08-20 23:09:49 2248

原创 桶排序

桶排序以我个人的理解就是先找出数组的最大值,譬如最大值为m,然后创建一个数组大小为m的数组, 数组的每一位都可以看成是一个桶,然后遍历需要排序的数组,向桶中填数,之后把桶从小到大向外取数即可得到排序好的数组。/** * 桶排序 * 桶排序的关键在于找出数组的最大值,而后统计这些位置数字出现的个数,再从桶中依次取出即可 * * @param array */public sta...

2018-08-20 23:08:33 90

原创 冒泡排序

冒泡排序原理很简单,就是每次比较相邻位置的大小,以升序为例,如果前一个大于后一个,则交换具体代码实现如下:public class MySort { /** * 冒泡排序未优化版 * * @param array */ public static void bubbleSort1(int[] array){ in...

2018-08-20 23:04:46 88

原创 Jsoup实现模拟登陆

  之前写爬虫都是用的python,公司电脑上没有python环境,没办法,只好学习了一下java版,于是发现了一个很好用的工具Jsoup,个人感觉用法上和python的beautifulsoup有些相似。   目标是实现网站的模拟登陆,在网上发现了一个挺不错的板子,特此记录学习    挺好的一个板子,学习了import java.io.IOException;import jav...

2018-08-18 11:45:08 3588 2

原创 java代理模式

java代理java代理共分3类:静态代理,动态代理,子类代理1.静态代理:接口类 MyRequest:public interface MyRequest { public void request();}目标类:public class GoalRequest implements MyRequest{ public void reques...

2018-08-18 11:34:39 90

原创 利用java检测项目中线程不安全的类

public class ClassUtil { public static void main(String[] args) throws Exception { //System.out.println(System.getProperty("java.class.path")); checkUnsafeClass("xxxxxxxxxx"); ...

2018-08-18 11:29:32 245

原创 python2中print不换行及print不换行且无空格写法

一直用的是python3,换用python2的时候输出发现了上述问题,在python3中这个问题可以设置print()方法中的end参数来解决,而python2中没有这个参数,但也有办法解决,方法如下:不换行:# ,可使print不换行,但会自动添加一个空格print '11',print '22'结果: 不换行但无空格sys.stdout.write('11')sys...

2018-08-02 23:21:39 8530

原创 python生成随机字符串

废话不多说,直接上代码# encoding=utf-8import randomimport string# 以追加方式打开文件,即保证后写入的内容不会将之前的内容覆盖with open('txt1.txt', 'a') as f: # 生产20000条字符串 for i in range(20000): # 生成一个随机数 x = r...

2018-08-02 22:14:06 590

原创 编译原理 -词法分析添加注释过滤功能

编译原理实验,查了半天资料没找到好的,自己在原有代码基础上改了改,没考虑引号内的情况(主要是自己懒)。代码大体上是基于编译原理第三版改的,写法不算特别好,仅供大家参考。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <iostream>#include ...

2018-04-23 23:06:57 4690

原创 selenium.common.exceptions.WebDriverException: Message: unknown error:

错误大致为:selenium.common.exceptions.WebDriverException: Message: unknown error: cannot get automation extensionfrom unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapn...

2018-04-14 14:35:20 1256

原创 centos 7配置java环境问题

配置Java环境出现的问题,查了半天也没找到办法,我的问题主要是在修改/etc/profile配置后,root用户没什么问题,但其他用户javac能使用,java指令不能使用,所有配置都没问题,然后在其他用户上直接 source /etc/profile然后竟然奇迹般地好用了,惊了。...

2018-04-14 14:19:37 143

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除