java
文章平均质量分 88
fct2001140269
大数据架构、地理信息系统
展开
-
一篇文章看懂java反射机制(反射实例化对象-反射获得构造方法,获得普通方法,获得字段属性)
一篇文章看懂java反射机制(反射实例化对象-反射获得构造方法,获得普通方法,获得字段属性)https://www.cnblogs.com/cs-lcy/p/7397955.html转载 2019-08-07 15:39:18 · 195 阅读 · 0 评论 -
求找出N个格子中前m个的最多人走过的格子??
题目:对于一个区域中N个地理格子,给定很多人走过的轨迹,求找出N个格子中前m个最多人走过的格子??实现:package grid.geo;import java.util.ArrayList;import java.util.Comparator;import java.util.HashMap;import java.util.HashSet;import java.util....原创 2018-12-19 15:26:57 · 222 阅读 · 0 评论 -
关于java中的锁的理解(通俗易懂)
一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在Java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个线程就可以拿到锁...转载 2018-12-03 23:23:23 · 983 阅读 · 0 评论 -
java中常见的锁
本文内容来自百度百科https://zhidao.baidu.com/question/1610001582034812547.html一、公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java ReentrantLock而言,通过构...转载 2018-12-03 22:53:42 · 119 阅读 · 0 评论 -
常见面试题总结-M
面试题总结1.首先手写二叉树遍历(三种方法)?怎样比较两棵二叉树相等?2.手写实现翻转链表?3.Jvm内存模型?常用的垃圾回收算法?JVM使用的垃圾回收算法是有哪些?4.Spark中的广播变量broadcast?5.JAVA线程池?6.JAVA多线程同步的方式有哪些?(常见有哪些锁?分别有什么区别?synchnoized关键字和lock方法有什么区别?乐观锁和与悲观锁,自旋锁?)7....原创 2019-02-17 00:36:10 · 162 阅读 · 0 评论 -
HashMap在Java1.7与1.8中的区别
HashMap在Java1.7与1.8中的区别基于JDK1.7.0_80与JDK1.8.0_66做的分析JDK1.7中使用一个Entry数组来存储数据,用key的hashcode取模来决定key会被放到数组里的位置,如果hashcode相同,或者hashcode取模后的结果相同(hash collision),那么这些key会被定位到Entry数组的同一个格子里,这些key会形成一个链表。...转载 2018-11-25 23:31:20 · 109 阅读 · 0 评论 -
并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)
HashMap、CurrentHashMap 的实现原理基本都是BAT面试必考内容,阿里P8架构师谈:深入探讨HashMap的底层结构、原理、扩容机制深入谈过hashmap的实现原理,今天主要谈CurrentHashMap的实现原理。内容目录:1.哈希表2.ConcurrentHashMap与HashMap、HashTable的区别3.CurrentHashMap在JDK1.7和JDK1...转载 2018-11-24 18:26:06 · 343 阅读 · 0 评论 -
Java多线程之锁优化策略
转载 http://www.cnblogs.com/ygj0930/p/6561264.html编码过程中可采取的锁优化的思路有以下几种:1:减少锁持有时间 例如:对一个方法加锁,不如对方法中需要同步的几行代码加锁;2:减小锁粒度 例如:ConcurrentHashMap采取对segment加锁而不是整个map加锁,提高并发性;3:锁分离 根据同步操作的性质...转载 2018-11-14 23:08:02 · 115 阅读 · 0 评论 -
打包Jar时候出现Invalid signature file digest for Manifest main
使用idea打包成jar上传运行时候出现以下错误:Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes解决方法:(在linux命令行键入如下命令,xxx.jar是你的jar包)//将jar包中的META-INF/*...原创 2018-11-14 10:07:49 · 6254 阅读 · 0 评论 -
Java-线程池专题 (美团面试题)
转载自:https://www.cnblogs.com/aspirant/p/6920418.html去美团面试,问到了什么是线程池,如何使用,为什么要用,以下做个总结1、什么是线程池:  java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池多线程技术主要解决处理器单元内多个线程...转载 2018-12-09 22:40:23 · 169 阅读 · 0 评论 -
多线程知识(看如下链接足矣)
1.Lock和synchronized的区别和使用https://www.cnblogs.com/baizhanshi/p/6419268.html总结来说,Lock和synchronized有以下几点不同:1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;2)synchronized在发生异常时,会自动释放线程占有的锁,因此...原创 2018-12-09 23:53:08 · 154 阅读 · 0 评论 -
JAVA锁有哪些种类,以及区别(转)
转载: https://www.cnblogs.com/lxmyhappy/p/7380073.htmlJAVA锁有哪些种类,以及区别(转)在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁上面是很多锁的名词,这些分类并不是...转载 2018-12-15 23:32:41 · 118 阅读 · 0 评论 -
JVM内存调优-优秀文章参考
1.JVM内存分配担保机制https://mp.weixin.qq.com/s?__biz=MzA5MzQ2NTY0OA==&mid=2650797224&idx=1&sn=5819bd097e6dabab34db382be2d0182c&chksm=885629f7bf21a0e1fe382626f8d272ee9c4066109f329ef93a205c29e...原创 2019-08-08 18:45:24 · 280 阅读 · 0 评论 -
十余年BAT架构经验倾囊相授
原文地址:https://www.toutiao.com/a6677190794085925389/十余年BAT架构经验倾囊相授推荐阅读1、拜托!面试请不要再问我Spring Cloud底层原理!2、微服务注册中心如何承载大型系统的千万级访问?3、「性能优化之道」每秒上万并发下的Spring Cloud参数优化实战4、「“剁手党”狂欢的背后」微服务架构如何保障99.99%的高可用?5、兄弟,用...转载 2019-04-22 15:10:44 · 181 阅读 · 0 评论 -
Java中 synchronized到底锁住的是什么?
Java中 synchronized到底锁住的是什么?使用环境:多线程java程序中。作用:在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。使用:synchronized锁住的是括号里的对象,而不是代码。对于非static的synchronized方法,锁的就是对象本身也就是this。通过以下三个案例...原创 2019-04-20 17:59:18 · 753 阅读 · 0 评论 -
多线程死锁问题 +案例
多线程死锁问题:一、什么是死锁和原因?死锁的四个条件:(互斥、不可剥夺、请求持有、循环等待)最根本原因是:线程在获得一个锁L1的情况下再去申请另外一个锁L2,也就是锁L1想要包含了锁L2,也就是说在获得了锁L1,并且没有释放锁L1的情况下,又去申请获得锁L2,这个是产生死锁的最根本原因**。另一个原因是**默认的锁申请操作是阻塞的。二、手写一个java多线程的死锁案例?案例1:锁定类变量...原创 2019-04-03 16:37:02 · 229 阅读 · 0 评论 -
求一个二叉树中两个节点的最近公共父节点
对树的考察在于使用递归方法(使用递归的方式)package suanfa;/**求一个二叉树中两个节点的最近公共父节点*/public class LowestCommonAncestor { public static void main(String[] args) { // TODO Auto-generated method stub// TreeNode root ...原创 2019-02-19 23:53:59 · 376 阅读 · 0 评论 -
查找队列中最新的n个记录
超找最新的n个记录 问题描述:/**表示一个用户行为,包含type,timestamp, info信息*/interface Action {public String getType();public long getTimestamp();public String getInfo();}/**表示一个用户的行为历史*/interface ActionHi...原创 2019-02-21 17:31:28 · 247 阅读 · 0 评论 -
常见算法问题总结
1.给定二维数组,其中的元素是a-z的26个小写字母,例如如下int[3][3] a = {{b,a,c},{e,f,d},{g,h,i}};任意给定字符串str=“acg”,判断在该二维数组中是否存在该字符串?提示:存在是指在二维数组中上、下、左、右所有字符串时候存在连续的字符串,存在则返回true;2.给定指定数组8,3,4,5,7,6,4。求出需要填挖方的数值总和?3.两个链表...原创 2019-01-29 19:49:48 · 305 阅读 · 0 评论 -
java实现生产者-消费者模型
1.方式一:使用synchronize以及wait()、notify() /notifyAll() 的配合使用package producercomsumer;/** * 描述: * * @author: fangchangtan * @version 创建时间:2019年1月7日 下午7:19:26 */public class ChangtanTest { publi...原创 2019-01-08 19:53:42 · 838 阅读 · 3 评论 -
JVM知识点总结
Java的类加载过程?Java虚拟机的基本机构?Jvm的内存模型?什么是类加载器?简单谈一下类加载的双亲委托机制?普通Java类的类加载过程和Tomcat的类加载过程是否一样?区别在哪?JAVA的垃圾回收?1.简单谈一下Java堆的垃圾回收机制?2.垃圾回收算法?垃圾回收器?做出比较参考:https://blog.csdn.net/ln152315/article/details...原创 2018-12-26 00:00:59 · 135 阅读 · 0 评论 -
在windows下生成brotobuf文件到idea中中文乱码问题
在windows下生成brotobuf文件(从gbk转utc-8),在idea的utf-8环境中出现中文乱码问题;一、问题描述:protocol-buffer - protoc 指定生成java文件是GBK编码,如何指定成UTF8?protoc 指定生成java文件是GBK编码,如何指定成UTF8,–help也没有看到设置输出编码的怎么做呢?window下默认是gbk编码,在idea中的u...原创 2018-10-31 14:14:02 · 613 阅读 · 0 评论 -
将postgers中数据库表复制到不同的数据库下面
原创 2018-05-08 18:59:38 · 627 阅读 · 0 评论 -
java中的jts包中源码
geomenty几何对象: jts-core-1.14.0-sources.jar源码下载网址:http://central.maven.org/maven2/com/vividsolutions/jts-core/1.14.0/原创 2018-04-13 09:49:35 · 1191 阅读 · 0 评论 -
JVM内存
JVM内存大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack ( 本地方法栈 ),其中Method Area 和 Heap 是线程共享的 ,VM Stack,Nat...原创 2018-04-06 19:52:05 · 167 阅读 · 0 评论 -
java 多线程简单例子
转载自博客园:https://www.cnblogs.com/nn369/p/8043303.html实现线程的方式是一,继承Thread类,重写父类的run()方法二,实现接口Runnable中的run()方法。下面是简单的例子例子1:银行存取钱问题12345678910111213141516171819202122232425262728293031323334353637383940414...转载 2018-03-18 15:42:30 · 304 阅读 · 0 评论 -
java创建线程池
Java创建线程池(重要)package com.muti.threads;import java.util.concurrent.*;/** * ExecutorService * ExecutorService接口的实现有,ThreadPoolExecutor和ScheduledThreadPoolExcecutor。 * ----通常选择Exectors工厂类的静态方法来创建一...原创 2018-03-18 15:35:28 · 174 阅读 · 0 评论 -
google guava对java编程的大提升
附上链接( guava(番石榴)学习): http://ifeve.com/tag/guava/需要下载guava.jar包,加载环境jar包-------------------------------guava是对java原始字符串、集合、缓存等的高级封装,大大简化代码量,提高编程效率;初次使用已经爱上了它!!...原创 2018-03-09 22:12:10 · 248 阅读 · 0 评论 -
Java开发必用的工具包
Java开发必用的工具包Java是最流行的开源语言之一。大量的公共工具包,提高开发效率!Apache Commons StringUtils :java开发必备工具包,加速器。介绍几个StringUtils中的常用方法:equals 比较两个String是否相等,免去了频繁判断非null的麻烦isEmpty 判断String是否为null或者空字符串join(array...原创 2018-08-16 12:44:03 · 601 阅读 · 0 评论 -
JAVA常用工具类
JAVA常用工具类(根据GITHUB代码统计)从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料,但是很少有人去关注一些小的工具包,但是当你真正知道了这些包的用处之后,你会发现它能很大程度的帮你节省时间,能很方便的实现你的需求。当然,没有这些包,你也能实现你的需求,但是你需要时间。目录 - 第一部分:常用的16个工具类 -...原创 2018-09-11 22:28:32 · 19939 阅读 · 5 评论 -
快速理解Java中的五种单例模式
转载:https://www.cnblogs.com/hupp/p/4487521.html快速理解Java中的五种单例模式解法一:只适合单线程环境(不好)复制代码package test;/**@author xiaoping*/public class Singleton {private static Singleton instance=null;private...转载 2018-10-19 12:56:33 · 122 阅读 · 0 评论 -
java8 四大核心函数式接口Function、Consumer、Supplier、Predicate
本文来自 Mr.xu 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/a879611951/article/details/80104014?utm_source=copy Function<T, R> T:入参类型,R:出参类型调用方法:R&nbs...转载 2018-10-09 18:40:39 · 131 阅读 · 0 评论 -
java虚拟机内存--jvm
常见问题:一、Java虚拟机内存–jvm内存模型1.虚拟机内存模型中定义的访问操作与物理计算机处理的基本一致!二、JVM的逻辑内存模型 (java运行时runtime内存模型)2.1 jvm内存模型描述如下所示名称特征作用配置异常栈区线程私有,使用一段连续的内存空间存放局部变量表、操作栈、动态链接、方法出口-XSsStackOverflowError...原创 2018-10-15 15:00:57 · 144 阅读 · 0 评论 -
Java实现一个线程池
Java实现一个线程池1. 如何实现一个线程池?1.1首先定义线程池中的变量还需要一个队列来存储提交给线程池的任务。/**存放线程的集合*/private ArrayList<MyThead> threads;/**任务队列*/private ArrayBlockingQueue<Runnable> taskQueue;初始化一个线程池时,要指定这个线程池...原创 2018-10-14 00:55:29 · 390 阅读 · 0 评论 -
多线程知识点汇总
1.那些年遇到过的面试题 - 40个多线程问题总结http://www.cnblogs.com/xrq730/p/5060921.html?utm_source=tuicool&amp;utm_medium=referral(这个非常好!!!)2.15个顶级Java多线程面试题及答案https://www.cnblogs.com/kinglearnjava/p/4883300.html3...原创 2018-10-05 00:07:05 · 116 阅读 · 0 评论 -
生产者和消费者问题--线程模型中的经典问题
转载:https://www.cnblogs.com/happyPawpaw/archive/2013/01/18/2865957.html引言 生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,如下图所示,生产者向空间里存放数据,而消费者取用数据,如果不加以协调可能会出现以下情况:生产者消费者图 存储空间已满,而生产者占用着它,消费者等...原创 2018-10-04 22:04:10 · 553 阅读 · 0 评论 -
Java反射机制
转载自:https://www.cnblogs.com/bojuetech/p/5896551.html Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。1、关于Class &n...转载 2018-09-26 08:58:06 · 98 阅读 · 0 评论 -
Java 集合系列目录(Category)
转载自:http://www.cnblogs.com/skywang12345/p/3323085.html Java 集合系列目录(Category) 下面是最近总结的Java集合(JDK1.6.0_45)相关文章的目录。 01. Java 集合系列01之 总体框架02. Java 集合系列02之 Collectio...转载 2018-09-24 10:46:41 · 255 阅读 · 0 评论 -
Java并发原理
Java高级架构技术–Java并发原理网上有不计其数的并发编程文章,甚至有不计其数的书来介绍这个主题。你为什么要花10分钟时间来读完这篇文章呢?我给的答案:“他们全是废话。”,我觉得这个主题用10分钟就可以说完,根本不要用花这么长时间,也不用去折腾Java内存模型之类的东西。我只讲原理,不会告诉你怎么用Java的并发库,这是java doc干的事情理解Java并发原理或者其他语言的并发(没错,...转载 2018-09-11 23:00:05 · 702 阅读 · 0 评论 -
java大数据面试总结
Java 部分1.常用的缓存技术??集合和缓存池技术;(java集合的高级用法,缓存池技术能够写出相应的代码,创建连接池)2.java常用的设计模式,你用到的有哪些??单例模式、工厂模式、动态代理模式;3.java常用的代码优化技术有哪些?IO操作与内存操作分离; 4.复杂的sql语法运算事务、存储过程、索引技术大数据部分 3.大数据技术?(重点)hadoop技术和storm技术;Hadoop生...原创 2018-03-06 22:47:23 · 1268 阅读 · 0 评论