- 博客(25)
- 资源 (3)
- 收藏
- 关注
原创 项目要点之mysql——1
阅读阿里巴巴JAVA开发手册并查阅相关资料后提醒需要特别注意的几点。1.小数类型为decimal,禁止使用float和double。 因为float和double存在精度损失问题,在进行值比较时可能得不到想要的答案。而如果数据范围超过decimal的范围,建议将数据拆分成整数和小数存储。2.选择合适的字段,比如没有负数的就不选int,而用unsigned int等...
2019-12-26 14:42:38
168
原创 服务部署
服务部署时出现异常。将服务部署在服务器,或者为其他提供服务的时候,最好是把jdk一起打包了。以免出现,服务器的jdk版本和服务的jdk版本不一致的错误。比如在shell脚本里面写启动的时候,如果直接写 nohup java -jar $WLDS_HOME/ip.jar>/dev/null 2>&1 &这里虽然已经将服务的路径设置了,可以在不同的目录...
2019-12-18 16:48:51
208
原创 shell执行了jar包之后,不执行后续代码
因为是一个while(true)循环的jar包,所以在执行jar包的时候就一直卡在这里,不会执行后续的shell代码。原代码如下:#!/bin/bashexport JAVA_HOME=/home/agenttest/nicflow/jreexport WLDS_HOME=/home/agenttest/nicflow/iftopGetFlowAPP_HOME=/home/age...
2019-12-16 15:50:56
652
原创 java获取linux机器IP
linux机器有多IP的情况,而有时候获取ip就会获取错误。目前在网络上所找到的几乎所有直接通过java代码获取ip的方法都是有问题的,不能获取想要获得的那个IP。怎么办呢,目前只能想办法写一个python脚本,然后把获取的ip输入到文件里面,最后java从文件里面读取。鉴于项目中所有的服务器都会部署一个flume程序,该程序会与远程机器通信,那么就获取该程序的通信状况netsta...
2019-12-13 10:10:24
741
1
原创 解压7z格式(zip,rar等格式)
生成ipv6信息库的过程中,在自动化这一步的时候,用python从网上获取下来的是一个7z压缩包格式的内容,用python解压比较麻烦(网上目前找到的资料为python2.7版本的,所以考虑用python调用java来实现解压)。接下来是java的解压各个格式的代码:import java.io.BufferedInputStream;import java.io.BufferedOu...
2019-11-19 15:54:02
1824
原创 去掉一个字符串中所有空格和tab符号的方法
line = line.trim(); String[] strs = line.split("\\s+");记录一下,免得以后忘掉。
2019-11-15 13:45:53
2346
1
原创 苏宁面筋
过了大概10天才来写苏宁的面经,问的技术问题挺多不记得了,能记得的地方还是记录一下。一面:首先自我介绍,然后一些java基础,视频面试写代码(easy),然后就开始抓着项目细问了。我的某一个项目里面用到的一个订单下单,通过书籍的isbn码在数据库里面查询,如果有的话直接去数据库里面获取书的数据,如果没有就通过豆瓣的api去查询,得到数据并且存到数据库里面。面试官:并发的...
2019-11-05 17:04:50
147
原创 时间戳,本机IP,得到所有文件名
1.时间戳是System.currentTimeMillis(),需要精确到秒就用System.currentTimeMillis() / 10002.获取本机IP的方法String addr = InetAddress.getLocalHost().getHostAddress();这个只能在windows上获取,在linux系统下只会得到广播地址所以要windows和linux...
2019-11-04 13:51:48
187
原创 leetcode 1217题解
数轴上放置了一些筹码,每个筹码的位置存在数组chips当中。你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹码向左或者右移动 1 个单位,代价为 1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价。示例 1:...
2019-10-31 15:11:21
257
原创 1.做JAVA项目时几个比较忽略的要点
1.Data source rejected establishment of connection,message from server: "Too many connections"这是数据库建立了太多的连接,找到自己新建Connection的地方,看是不是在某一个循环里面或者某一个经常被调用的函数里面,如果是,尽量把移到外面,尽可能保证只建立一个Connection。否则,在建立太...
2019-09-30 09:40:35
108
原创 多线程synchronize的有趣的事情以及疑问点
package ip;public class Main implements Runnable{ volatile static int a=0; public static void main(String[] args) { Main m=new Main(); Thread a1=new Thread(m); Thread b2=new Thread(m...
2019-09-19 16:07:01
110
原创 六:建立一个ipv4/ipv6的信息库
近日又找到一个,免费并且数据量更大更容易方便编程使用的IP信息库。https://mall.ipplus360.com/pros/default1.8G的数据量,国内国外都包含,不过免费版缺少运营商字段,不过还好运营商字段相对来说用处没有那么大。已经确定了使用这个数据库,那么接下来就是一个问题了,原来的信息库是TXT格式的,并且已经好几百M了,新的库最后也要保存为TXT格式,...
2019-09-19 09:51:21
718
原创 几大基本排序算法的JAVA实现
import java.sql.SQLSyntaxErrorException;import java.util.ArrayList;import java.util.LinkedList;import java.util.Random;import java.util.Scanner;public class AllSort { static String[] whichS...
2019-09-17 11:43:27
84
原创 四:建立一个ipv4/ipv6的信息库
考虑到纯真信息库的精确度问题。再探索一下其他几个信息库。目前使用测试通过了的信息库分别是GeoIP(GeoLite2),IPIP其中GeoLite2直接去官网下载即可,拥有自动更新数据库的官网软件。下载的格式有2种,一种是2进制,一种是csv格式。二进制格式的没有测试,但是csv格式的,下载城市版,会发现打开很多乱码的,这个时候需要新建一个Excel表,然后导入数据,选择自文本,选择格...
2019-09-11 15:58:15
611
原创 三:建立一个ipv4/ipv6的信息库
考虑方法二,试一试纯真信息库首先去http://www.cz88.net/ip/ 下载最新的信息库下载完后解压并且安装之后按正常软件安装的方法,安装完成后。出现这样的图标点击解压, 会生成一个txt文档,用Notepad++打开或者UltraEdit打开以防格式错误。打开后发现内容如下:ok这就是我们可以用的数据库,接下来想办法写一个爬虫自动爬这...
2019-09-10 11:13:36
321
原创 二:建立一个ipv4/ipv6的信息库
考虑到备选方法一,先实现一个demo确认能够查询到ip。所以,实现一个通过ip查询信息的demo代码如下。#coding=utf-8'''Created on Dec.18 2018@author: Rock Jay'''import sysimport requestsdef main(argv): url = 'http://freeapi.ipip....
2019-09-10 11:00:02
344
原创 一:建立一个ipv4/ipv6的信息库
对于建立一个ipv4/ipv6的信息库(以txt文档形式保存或者保存在数据库中)自动更新脚本因为拥有一个老版本的信息库,所以目前有2个解决办法。1.通过老版本的信息库,调用ip查询接口,查询更新。这种情况是一种备选的解决办法,因为里面的ip太多,数据太多,即使开100个线程同时跑也大概需要5天,而且还是在不考虑接口的可调用次数的情况下。2.网上搜索最新的信息库,并替换掉原有信...
2019-09-10 10:49:44
532
原创 字节面筋
前些天面的字节提前批,发现自己许多的基础知识不足够,很多东西是学过,但是记得不多给忘了,在此记载。我面的是JAVA,不过问了不少C/C++的问题(虽然也学过这两个语言,不过涉猎不深),毕竟字节本来就是很多都用C方面的,不过还是挺不快乐的,准备好的关于JAVA方面的内容基本上没问。总结一下三个方向:1.C/C++的区别1.struct和类的区别,意义在哪里。(没答上来)2.stu...
2019-08-01 17:52:41
143
原创 JAVA多线程-1-新建线程
新建线程有3个方法。1.new Thread。也就是直接新建一个线程。2.实现Runnable接口。3.实现Callable接口。4.应用程序可以使用Executor框架来创建线程池这个时候会很好奇,这三种方法有什么区别呢?thread和runnable本质上没有区别。只不过一个是直接继承的类,一个是实现的接口。而其实Thread里面也是实现了Run...
2019-04-26 23:15:58
123
原创 死锁以及银行家算法的一个简单理解。
关于进程死锁的一个简单直白的理解。比如说。我要完成一个任务A。你要完成一个任务B。我手上有工具1,3你手上有工具2但是我需要工具1,2,3才能完成任务A。你需要工具1,2才能完成任务B。我在等着你把任务B完成,把工具2给我。你在等着我把任务A完成,把工具1给你。就这样形成了一个循环等待,并且一直不会结束,这样的话,工具,1,2,3都被无限期...
2019-04-22 11:25:08
299
原创 java五种拼接字符串的方法分析(腾讯面试题)
今天在腾讯面视的时候有被问到java中有哪几种拼接字符串的方法。回顾起来,这应该是一个很重要的点,可惜自己没答好。回来后仔细分析String内里面的源码,对于拼接字符串进行一个分析。1.最简单使用,最常见的 “+”方法。”+“ 方法源码中描述如下The Java language provides special support for the string ...
2019-03-16 01:49:40
861
1
原创 堆初始化和堆排序
最近刷笔试题的时候遇到:某堆初始化的结果,某堆排序后的结果。之前学数据结构的时候已经学过,然而没有牢固的影响,在这里做笔记。以免自己再忘却。首先,堆是完全二叉树却不是二叉查找树。所以对堆进行初始化,只是找出了第一个最大的(最大堆),或者最小的值(最小堆)。举个例子:设有一个无序序列 { 1, 3, 4, 5, 2, 6, 9, 7, 8, 0 }。(接下来参考大佬的博客...
2019-03-09 00:15:04
7005
java实现解压压缩包的jar包和源码.zip
2019-11-19
邮件服务系统.zip
2019-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人