Java
文章平均质量分 86
马超的博客
Stay Hungry, Stay Foolish
展开
-
如何从图数据库顺利删除上亿条数据?
从图库删除所有节点从图库删除所有节点一、创建测试数据二、删除测试数据2.1 删除2.2 批量删除Here’s the table of contents:从图库删除所有节点在之前的一次数据生产过程中,需要清空图数据库进行重新导入操作。但是删除过程并不是很顺利,下面我把踩坑过程写下来:)一、创建测试数据创建数据apoc.periodic.iterate可以实现迭代执行数据创建任务。其中range(1, 1000000)表示生成一千万个节点;CREATE创建了一个只包含id属性的节点。原创 2021-06-16 22:54:11 · 584 阅读 · 0 评论 -
辅助图分析人员的自定义图数据可视化组件
图数据处理与可视化一、可视化效果二、neo4j的数据封装三、将封装好的数据转换为d3.js格式并写入文件四、启动http服务加载文件数据五、使用HTML可视化图数据在图数据处理过程中,如果无法使用形象化的展示,可能会给分析人员带来一定困惑。下面这个组件可以在需要的时候,将图数据形象化的展示出来。/*** 可视化组件类的使用方式:* 1、获取数据* 2、封装d3格式数据* 3、启动h...原创 2020-03-16 19:06:35 · 711 阅读 · 0 评论 -
基于neo4j-java-driver驱动访问图库封装rest-api风格的数据
分享一个neo4j数据封装类,这个类封装的JSON数据与neo4j的rest-api返回的数据格式类似。负责区分不同查询 /** * @param cypher@return * @Description: TODO(跳过条件添加直接使用CYPHER查询 - 默认返回节点或者关系的所有属性字段) */ @Override public JSON...原创 2020-03-12 20:28:58 · 944 阅读 · 0 评论 -
面试题(JAVA)(二)
简答题 1、请简述java反射机制 解析: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法; 生成动态代理。2、JDK和JRE的区别 解析: JDK是Java开发工具包,JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆J原创 2017-04-05 18:14:08 · 877 阅读 · 0 评论 -
面试题(JAVA)(一)
一、单项选择题 1.以下程序运⾏的结果为(A)public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch(InterruptedException e){ e.printStackTrace();原创 2017-04-05 18:02:24 · 729 阅读 · 0 评论 -
JAVA基础知识整理(三)
HashMap的实现,问的真的炒鸡多详细看下面链接: Java HashMap工作原理及实现HashMap工作原理HashMap和Hashtable区别HashMap和ConcurrentHashmap区别什么时候会使用HashMap?他有什么特点? 是基于Map接口的实现,存储键值对时,它可以接收null的键值,是非同步的,HashMap存储着Entry(hash, key, value,转载 2017-04-02 22:37:25 · 491 阅读 · 0 评论 -
JAVA基础知识整理(九) ---计算机网络
1.tcp头部结构 一个TCP报文段由首部和数据两部分组成。只有弄清楚TCP首部各字段的作用,才能够很好的掌握TCP的工作原理。 TCP首部的构成: (1)源端口号和目的端口号; (2)序号:它表示本报文段的第一个字节的序列号而不是报文段的序号; (3)确认号:表示期望接收的对方的下一个报文段的第一个字节的序号,而不是指已经正确接收的报文段的最后一个字节的序号;原创 2017-04-03 21:39:32 · 654 阅读 · 0 评论 -
JAVA基础知识整理(八) ---操作系统
操作系统(本人操作系统比较渣) 1.进程和线程的区别 2.线程的状态 3.进程之间的通信方式 4.死锁的必要条件,怎么处理死锁。 5.Window内存管理方式:段存储,页存储,段页存储。原创 2017-04-03 21:37:40 · 604 阅读 · 0 评论 -
JAVA基础知识整理(十) ---算法
算法(推荐剑指offer,算法导论,编程珠玑) 1.写单例(懒汉单例,饿汉单例,线程安全的单例) 2.写排序算法 时间复杂度n方的排序:选择,插入,冒泡 时间复杂度n*logn的排序:快排,归并,堆排,希尔(这个较少) 3.递归(简单如斐波那契那种,复杂的挺多的,多看看剑指offer刷刷牛客) 4.动态规划(dp我不会) 算法是一条漫长的路,刚开始刷题肯定是困难的,但是一定要敢写,可以原创 2017-04-03 21:41:53 · 425 阅读 · 0 评论 -
JAVA基础知识整理(七) ---数据库
1.left join,right join区别 2.MyIsam,Innodb区别 3.mysql优化手段 4.如何查看mysql执行计划 5.索引是什么,有什么用,如何建立 6.存储过程有什么好处 7.乐观锁,悲观锁是什么 8.having和where区别 9.事务的隔离级别 10.ACID含义 11.一,二,三,四范式含义 12.各种表连接,子查询语句需使用熟练。原创 2017-04-03 21:35:29 · 500 阅读 · 0 评论 -
Java泛型的上限和下限
原文博客:Java泛型4—泛型的上限和下限 在写程序的时候,我们希望某一个函数接收的参数,有一个范围的限制,这时候我们就可以考虑使用泛型的上限和下限去解决。class Point<T>{ private T x; private T y; public T getX() { return x; } public void setX(T x)转载 2017-04-06 21:17:48 · 1987 阅读 · 0 评论 -
Java泛型中<T extends Comparable<? super T>>是什么意思
原文地址:Java泛型中。。。啥意思啊<T extends Comparable<? super T>>这里来分析T表示任意字符名,extends对泛型上限进行了限制即T必须是Comparable<? super T>的子类,然后<? super T>表示Comparable<>中的类型下限为T!这样来看一段代码辅助理解:import java.util.GregorianCalendar;cl转载 2017-04-06 21:43:32 · 3463 阅读 · 1 评论 -
maven本地库安装以及JAR包服务器部署
一.下载的jar包发布maven本地依赖下载的jar包无法正常引入maven依赖时,需要先安装到本地maven库才可以在其它maven工程中正常引入依赖。 例如我们下载的JAR包是es-indexer.jar则可以进行以下操作进行安装:1.将jar包重命名为 es-indexer-1.0.jar 然后执行命令: (下面是同一命令的两种格式)$ mvn install:install-file -原创 2017-09-03 21:46:19 · 3237 阅读 · 0 评论 -
服务器程序问题记录OutOfMemoryError And StackOverflowError
出现报错一nohup java -Xmx512m -cp $mypath/*.jar *.MainPermanent >>logs/permanent.log 2>&1 &解决方式:修改JVM参数为-Xmx1024m; 错误原因:程序占用大量内存或者没有释放导致堆内存溢出。 解决思路:1.加大内存如-Xmx1024m,2.检查优化代码及时释放内存。出现报错二错误原因:程序在占用内存并且进入死循原创 2017-09-08 20:49:24 · 529 阅读 · 0 评论 -
JVM线程测试与java原子操作
截图说明: AtomicInteger 是原子操作类,适用于多线程更新变量的操作。// 没有使用线程池测试代码:public class JVMThreadTest extends Thread{ private static final AtomicInteger count = new AtomicInteger(); // Atomic operation clas原创 2017-11-02 10:14:12 · 323 阅读 · 0 评论 -
使用RMI 编译器生成stub的class
①使用RMI 编译器生成stub的class,使用-keep选项得到源代码。 ②RMI远程方法调用测试。参考文章—-简书:深入理解rmi原理原创 2017-11-13 19:32:11 · 1272 阅读 · 0 评论 -
IDEA自带打包工具使用
备注:IDEA下这种打包方式是将可执行JAR和依赖的JAR包放进同一个文件夹,特别注意.MF文件路径选择一定要在项目的根目录下,试了好久终于解决~.~; 最后一张图片是部署文件夹下运行.sh文件,文件夹内容如下所示: 执行的shell命令: nohup java -Xmx512m -cp ./nn_monitor_onlinevirtual_jar/nn_monitor_onlinevirtu原创 2017-11-01 20:30:02 · 3696 阅读 · 0 评论 -
错误集锦
一、报错内容gate.util.compilers.eclipse.jdt.internal.compiler.classfmt.ClassFormatExceptionTransducerCompilation errorgate.util.compilers.eclipse.jdt.internal.compiler.classfmt.ClassFormatException at原创 2017-11-21 10:55:00 · 467 阅读 · 0 评论 -
Thrift RPC实现跨语言服务调用
工程开始之前的准备: Thrift RPC类似与JAVA RMI,它们都是RPC(远程过程调用协议)协议的具体实现,Thrift RPC中间多个IDL(接口描述语言-跨平台开发的基础),使得它可以支持多语言接口的调用。1.使用 IDL 描述语言建立 .thrift 接口文件(接口文件的编写方式请百度)namespace java com.micro.thriftDemo// ...原创 2018-04-13 22:11:45 · 2019 阅读 · 0 评论 -
JAVA基础知识整理(六) ---JVM
jvm(推荐阅读深入理解jvm虚拟机)1.堆和栈有什么区别,都存放什么(哪些资源线程共享,哪些资源线程独享) stack 和 heap 都是内存的一部分 。 stack 空间小,速度比较快, 用来放对象的引用 heep 大,一般所有创建的对象都放在这里。 2.java垃圾回收机制 Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用原创 2017-04-03 20:36:11 · 421 阅读 · 0 评论 -
JAVA基础知识整理(五)
24.threadlocal的设计理念与作用(这个网上有的说法有错误,认真甄别)25.java Io与NIO26.HashMap与HashTable的区别 HashMap类与HashTable类很相似,只是HashTable类不允许有空的关键字,而HashMap类允许。 另外,HashMap是非线程安全的,HashTable是线程安全的。下面是一些问的较少的,有兴趣的看看就行 26.反射的作用原创 2017-04-03 18:24:20 · 489 阅读 · 0 评论 -
JAVA基础知识整理(四)
19.java中异常类的结构,你了解哪些异常,什么时候出现 所有异常都是有Throwable继承而来的,再下一层分为两个分支error和RuntimeException。 派生于RuntimeException: 错误的类型转换。 数组访问越界。 访问空指针。 不是派生于RuntimeException的异常: 试图在文件尾部读取数据。 试图打开一个不存在的文件。 试图根据不存在的原创 2017-04-03 18:21:54 · 656 阅读 · 0 评论 -
二分查找
二分查找是一种典型的采用分治策略的算法,他将问题分解为规模更小的问题,分而治之,逐一解决。 二分查找的两个条件是:顺序存储、数据元素排序。原创 2017-04-06 20:55:26 · 363 阅读 · 0 评论 -
JAVA中static
static关键字定义静态变量或者静态函数的时候使用该关键字。 被定义为static的函数,可以不需要new一个新的实例对象而直接调用。 比如Math类里有一个,public static sub()方法,那么你可以直接Math.sub()调用该方法。 所谓静态方法和静态变量,程序一启动,便在内存中初始化了。而不需要通过构造函数进行new。原创 2017-04-06 22:17:34 · 350 阅读 · 0 评论 -
数组的遍历
public class test { public static void main(String args[]) { System.out.println("普通for循环遍历数组:"); //int arr[] = new int[3]; int arr[] = {1,2,3,4,5}; for (int a = 0; a原创 2017-04-06 22:01:52 · 618 阅读 · 0 评论 -
Struts2中注册登录模块配置文件路径更改
<!--原因是http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd已经不是dtd约束文件了,打开网址,发现opensymphony的网址已经迁移走了,因为xwork的东西已经并入struts2中,成为apache的一部分. 所有的dtd已经移交到http://struts.apache.org/dtds/ 这个地方. 以后stru原创 2016-10-04 14:06:26 · 288 阅读 · 0 评论 -
Spark程序设计——Scala
1.Java JVM的高层次语言 面向对象+函数式编程 2.静态类型 性能与Java差不多 通常不需要显式写出类型(类型推断机制) 3.与Java结合完好 可直接使用任意Java类,可继承自Java类,也可从Java代码中调用Scala代码。 定义变量:var x:Int=7var x=7 //类型推断val y="hi" //只读函数:def square(x:Int):Int=原创 2016-10-16 20:01:12 · 356 阅读 · 0 评论 -
String.format()方法使用
package com.codewars;import java.util.Date;/** * Created by MaYanChao on 2016/10/12.--->>>Buddha Bless, No Bug ! * // * // _ooOoo_ * // o8888888原创 2016-10-12 20:07:45 · 722 阅读 · 0 评论 -
数据库概念以及面试常见问题总结
事物的概念: 事务是单个的工作单元。如果某一个事务提交成功,则在该事物中进行的所有数据修改均会提交成功,并且成为数据库的永久组成部分。如果事物遇到错误并且必须取消和回滚,则所有数据修改均会被清除。left join,right join区别: left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。 right join :右连接,返回右表中所有的记录以及原创 2017-04-07 20:33:05 · 1928 阅读 · 0 评论 -
偶数大翻转
问题描述: 输入n个数,请将其中的偶数的二进制反转。 eg:输入1 6 5 其中6是偶数,二进制表示为110,反转后为011,代表3,所以最终输出1 3 5. 结题思路: 思路就是先将输入数字中的偶数解析出来,然后再转String,记下当前二进制位数,然后反序右移32-len。import java.util.Scanner;public class Main{ public原创 2017-04-08 14:44:21 · 638 阅读 · 0 评论 -
JAVA基础知识整理(二)
6.聊聊集合 list(ArrayList,linkedlist,vector),set(hashset,linkedset,treeset),map(hashmap) 1.Set接口 Set是一个不包含重复元素的集合,是数学中“集合”的抽象。Set接口扩展了Collection,并且禁止重复的元素。,equals和hashcode操作有了更强的约定,使得不同实现的Set对象之间可以进原创 2017-04-02 21:58:57 · 423 阅读 · 0 评论 -
JAVA基础知识整理(一)
1.八种基本数据类型的大小以及他们的封装类(顺带了解自动拆箱与装箱)。 原始类型 大小 包装类型 char 2字节 Character boolean 1字节 Boolean byte 1字节 Byte short 2字节 Short int 4字节 Integer long 8字节 Long float 4字原创 2017-04-02 21:00:34 · 287 阅读 · 0 评论 -
JVM笔记
一、调试可以用的工具。GC工具。 Jmap/Jhat –OutOfMemoryerror —dump一个java heap文件 Jstack打印调用栈 查Log JDB Jstat查看JAVA heap情况 —java heap较大时比较耗时 eclipse借助JDWP协议进行远程调式二、GC垃圾回收 年轻代 年老代 永久代 对于三者使用的总结: 1.如果要操作少量的数据用原创 2017-04-01 22:59:46 · 341 阅读 · 0 评论 -
JAVA网络程序设计的基本概念
一、协议相关 IP (网络之间互联的协议)internet协议是最底层的协议,它定义了数据按照数据报传输的格式和规则。TCP (传输控制协议)建立在IP协议之上,定义了网络上程序到程序的数据传输格式和规则。TCP是面向连接的协议,传输数据之前必须先建立明确连接(三次握手协议)。UDP(用户数据报协议)与TCP协议相似,但它是不可靠的。数据报是一种自带寻址信息的、独立地从数据源走到终点的数据包。但它原创 2017-03-31 23:05:06 · 586 阅读 · 0 评论 -
JAVA多线程相关
一、概念 1、同一个应用程序需要并行处理多件任务,就不必建立多个进程,而是在一个进程之中建立多个线程。2、JAVA创建多线程有两种方法:继承Thread类和实现Runable接口。3、当多个线程的执行代码来自同一个类的run方法时,即称它们共享相同的代码;当共享访问相同的对象时,即他们共享相同的数据。4、后台线程(也叫守护线程)通常是为了辅助其他线程而运行的线程,它不妨碍程序终止。5、JAVA虚拟原创 2017-03-31 23:50:48 · 681 阅读 · 0 评论 -
JAVA数据库相关
一、数据库访问 JDBC是为Java语言定义的一个SQL调用级的数据库编程接口。数据模型 所有数据库系统都是基于某种数据模型的。数据模型简单的说就是数据库的逻辑结构。关系模型 所谓关系模型,形象地说就是二维表结构,也称之为关系表。 二、JAVA访问数据库的机制 JDBC API可以完成以下主要任务:首先建立和数据源的连接,然后向其传送查询和修改等SQL命令,最后处理数据源返回的SQL执行结果。原创 2017-03-31 23:26:53 · 596 阅读 · 0 评论 -
替换空格
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 //解题思路:遍历字符串找到空格字符串位置,然后用%20替换public class Solution2 { public static String repalceSpace(StringBuffer str){ if原创 2017-04-08 15:41:53 · 349 阅读 · 0 评论 -
二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。/** * Created by Administrator on 2017/4/8. */public class Solution { public static boolean find(int target,int原创 2017-04-08 15:19:32 · 306 阅读 · 0 评论 -
Java笔记分享-CrazyChao(Java重点及补充 序列化 Transient 远程调试 GC原理)
Java重点及补充 序列化 Transient 远程调试 GC原理序列化是什么:序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢原创 2015-11-18 22:17:54 · 695 阅读 · 0 评论