- 博客(35)
- 资源 (12)
- 收藏
- 关注
原创 Java爬取英雄联盟官网,全英雄皮肤背景图片
Java爬取英雄联盟官网,全英雄皮肤背景图片1.首先获取全英雄名2.创建全英雄皮肤收藏的文件夹3.根据英雄id,和英雄名称,保存进对应的英雄名称文件夹中。4.以下方法用来测试https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js!!!5.完整版来咯6.看成品1.首先获取全英雄名去30行Python代码爬取英雄联盟全英雄全皮肤页面,里面有 代码的实现思路,大家可以去看看。以下代码省略了几个步骤,实现了获取116位英雄的皮肤,升
2020-12-09 15:02:49 2400 1
原创 超详细的SpringCloud底层原理
天天喊着微服务,微服务的,微服务怎么牛逼,微服务有多强大,学好微服务三天不用吃饭的那种?那我心里不禁一紧微服务到底是个啥?往下看!总有东西有点帮助!先来个简单的介绍吧!SpringCloud框架针对这个架构图我分层介绍一下:1、是web服务器的选型,这个我选择的是nginx+keepalived,haproxy也是一个选择,但是haproxy在反向代理处理跨域访问的时候问题很多...
2019-10-03 15:55:36 29459 5
转载 (转)利用IDEA搭建SpringBoot项目,整合mybatis,实现简单的登录功能。
亲测可用!!!https://blog.csdn.net/weixin_42685022/article/details/82215893
2019-09-27 16:07:53 422
转载 group by和order by的用法和区别
一、order by的用法使用order by,一般是用来,依照查询结果的某一列(或多列)属性,进行排序(升序:ASC;降序:DESC;默认为升序)。当排序列含空值时:ASC:排序列为空值的元组最后显示。DESC:排序列为空值的元组最先显示。为了好记忆,我的理解是,可以把null值看做无穷大,因为不知道具体为多少。然后去考虑排序,asc升序null肯定在最后,而desc降序,n...
2018-08-18 14:10:14 59665 3
转载 ubuntu 安装JDK+Eclipes
1.首先得先下载JDK和eclipsejdk下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html eclipse下载网址:http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/...
2018-08-17 13:52:47 198
转载 Linux 常用命令大全
Ubuntu常用命令大全 Ubuntu常用命令大全 查看软件xxx安装内容#dpkg -L xxx 查找软件#apt-cache search 正则表达式 查找文件属于哪个包#dpkg -S filename apt-file search filename 查询软件xxx依赖哪些包#apt-cache depends xxx 查询软件xxx被哪些包依赖#apt-c...
2018-08-17 10:13:09 206
原创 ubuntu16.04 nginx+lua+mysql+navicat+redis+openresty+Xshell+git环境搭建
>>>>>>>>>>>>>>>>>>>>git<<<<<<<<<<<&
2018-08-17 10:08:56 657
转载 Lua包管理工具Luarocks
什么是Luarocks 源码安装部署Luarocks 注册Luarocks为Lua社区贡献自己的代码 Luarocks使用初探####什么是Luarocks Luarocks是一个Lua包管理器,基于Lua语言开发,提供一个命令行的方式来管理Lua包依赖、安装第三方Lua包等,社区比较流行的包管理器之一,另还有一个LuaDist,Luarocks的包数量比LuaDist多,更细节的两者对比...
2018-08-17 10:05:28 9325
转载 MySQL配置文件my.ini或my.cnf的位置
1、Windows下MySQL的配置文件是my.ini,一般会在安装目录的根目录。2、Linux下MySQL的配置文件是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.cnf。如果找不到,可以用find命令查找。3、Linux用rpm包安装的MySQL是不会安装/etc/my.cnf文件的至于为什么没有这个文件而MySQL却也能正常启动和作用,有两个说法:...
2018-08-06 09:41:08 8682
转载 Java面试题
这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇文章还对企业应用架构、大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助。12...
2018-03-07 12:37:57 212
转载 java面试题(中)
这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。补充:Sun Microsystems公司...
2018-03-07 12:37:29 200
转载 java面试题(上)
2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补...
2018-03-07 12:36:28 319
原创 Java集合---面试题
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入让这道题变得更加复杂。让我...
2018-02-08 17:37:36 216
原创 Java集合---多线程环境下hashmap死循环
为何出现死循环?大家都知道,HashMap采用链表解决Hash冲突,具体的HashMap的分析可以参考一下Java集合---HashMap源码剖析 的分析。因为是链表结构,那么就很容易形成闭合的链路,这样在循环的时候只要有线程对这个HashMap进行get操作就会产生死循环。但是,我好奇的是,这种闭合的链路是如何形成的呢。在单线程情况下,只有一个线程对HashMap的数据结构进行操作,是不可能产生...
2018-02-08 17:37:15 292
原创 Java集合---LinkedList源码解析
一、源码解析1、 LinkedList类定义2、LinkedList数据结构原理3、私有属性4、构造方法5、元素添加add()及原理6、删除数据remove()7、数据获取get()8、数据复制clone()与toArray()9、遍历数据:Iterator()二、ListItr 一、源码解析 1、 LinkedList类定义。 publicclassLinkedList<E>...
2018-02-08 17:36:49 178
原创 Java集合---LinkedList底层原理
java中的LinkedList类实现了List接口和Deque接口,是一种链表类型的数据结构,支持高效的插入和删除操作,同时也实现了Deque接口,使得LinkedList类也具有队列的特性。LinkedList类的底层实现的数据结构是一个双端的链表。 LinkedList类中有一个内部私有类Node,这个类就代表双端链表的节点Node。这个类有三个属性,分别是前驱节点,本节点的值,后继结点。源...
2018-02-08 17:36:26 643
原创 Java集合---LinkedHashSet实现原理
LinkedHashSet 的实现原理LinkedHashSet 概述思考了好久,到底要不要总结 LinkedHashSet 的内容 = = 我在之前的博文中,分别写了 HashMap 和 HashSet,然后我们可以看到 HashSet 的方法基本上都是基于 HashMap 来实现的,说白了,HashSet内部的数据结构就是一个 HashMap,其方法的内部几乎就是在调用 HashMap 的方法...
2018-02-08 17:36:01 294
原创 Java集合---LinkedHashMap实现原理
LinkedHashMap 的实现原理LinkedHashMap 概述HashMap 是无序的,HashMap 在 put 的时候是根据 key 的 hashcode 进行 hash 然后放入对应的地方。所以在按照一定顺序 put 进 HashMap 中,然后遍历出 HashMap 的顺序跟 put 的顺序不同(除非在 put 的时候 key 已经按照 hashcode 排序号了,这种几率非常小)...
2018-02-08 17:35:42 216
原创 Java集合---Hash概念
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录一、什么是哈希表 二、HashMap实现...
2018-02-08 17:35:23 335
原创 Java集合---HashTable源码剖析
Hashtable 概要与HashMap主要区别是Hashtable的put,get方法都是同步的,线程安全,但是性能较差 key和value都不能为null,HashMap中key与value都可以为 null 与HashMap类似,key必须实现hashCode()和equals方法,由于equals判断前都会先判断hashCode方法是否相等,两个equals的对象的hashCode()必须...
2018-02-08 17:35:01 217
原创 Java集合---HashTable底层原理
有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相对应的value值。一个是前面提到的HashMap,还有一个就是马上要讲解的HashTable。对于HashTable而言,它在很大程度上和HashMap的实现差不多,如果我们对HashMap比较了解的话,对Has...
2018-02-08 17:34:37 703 1
原创 Java集合---HashSet源码剖析
一、 HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 二、 HashSet的实现: 对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,相关HashSet的操作...
2018-02-08 17:34:13 182
原创 Java集合---HashSet的实现原理
1. HashSet概述 HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。2. HashSet的实现 如果不等,则添加到该数组索引对应的链表中。---------------------------------------------------------------...
2018-02-08 17:33:51 336
原创 Java集合---HashMap源码剖析
一、HashMap概述二、HashMap的数据结构三、HashMap源码分析 1、关键属性 2、构造方法 3、存储数据 4、调整大小 5、数据读取 6、HashMap的性能参数 7、Fail-Fast机制 一、HashMap概述HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用...
2018-02-08 17:33:20 161
原创 Java集合---HashMap与HashSet比较
HashSet 和 HashMap 的比较HashMap 和 HashSet 都是 collection 框架的一部分,它们让我们能够使用对象的集合。collection 框架有自己的接口和实现,主要分为 Set 接口,List 接口和 Queue 接口。它们有各自的特点,Set 的集合里不允许对象有重复的值,List 允许有重复,它对集合中的对象进行索引,Queue 的工作原理是 FCFS 算法...
2018-02-08 17:32:29 431
原创 Java集合---HashMap与HashSet比较
HashSet 和 HashMap 的比较HashMap 和 HashSet 都是 collection 框架的一部分,它们让我们能够使用对象的集合。collection 框架有自己的接口和实现,主要分为 Set 接口,List 接口和 Queue 接口。它们有各自的特点,Set 的集合里不允许对象有重复的值,List 允许有重复,它对集合中的对象进行索引,Queue 的工作原理是 FCFS 算法...
2018-02-08 17:31:05 199
原创 Java集合---HashMap的实现原理
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不...
2018-02-08 17:30:42 160
原创 Java集合---HashCode的作用原理和实例解析
HashCode定义 (1)HashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,HashCode是用来在散列存储结构中确定对象的存储地址的;(2)如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同;(3)如果对象的equals方法被重写,那么对象的HashCode也尽量重写,并且产生HashCode使用的对象,一定要和e...
2018-02-08 17:30:19 230
原创 Java集合---ConcurrentHashMap实现原理
ConcurrentHashMap 的实现原理概述我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合。其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉及到多个线程,并且有读有写的过程中,HashMap 就不能满足我们的需要了(fail-fast)。在不考虑性能问题的时候,我们的解决方案有 Hashtabl...
2018-02-08 17:29:56 188
原创 Java集合---Arrays类源码剖析
一、Arrays.sort()数组排序Java Arrays中提供了对所有类型的排序。其中主要分为Primitive(8种基本类型)和Object两大类。 基本类型:采用调优的快速排序; 对象类型:采用改进的归并排序。 1、对于基本类型源码分析如下(以int[]为例):Java对Primitive(int,float等原型数据)数组采用快速排序,对Object对象数组采用归并排序。对这一区别,...
2018-02-08 17:29:24 185
原创 Java集合---ArrayList源码剖析
ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素、灵活的设置数组的大小...... 认真阅读本文,我相信一定会对你有帮助。比如为什么ArrayList里面提供了一个受保护的removeRange方法?提供了其他没有被调用过的私有方法? 首先看到对ArrayList的定义:[java] view plain copy1. p...
2018-02-08 17:28:53 235
原创 Java集合---ArrayList底层原理
目录: 一、 ArrayList概述 二、 ArrayList的实现 1) 私有属性 2) 构造方法 3) 元素存储 4) 元素读取 5) 元素删除 6) 调整数组容量 7...
2018-02-08 17:27:57 244
原创 java动态代理的实现
文章首发于【博客园-陈树义】,点击跳转到原文深入浅出Java动态代理代理模式是设计模式中非常重要的一种类型,而设计模式又是编程中非常重要的知识点,特别是在业务系统的重构中,更是有举足轻重的地位。代理模式从类型上来说,可以分为静态代理和动态代理两种类型。在开始之前,我们先假设这样一个场景:有一个蛋糕店,它们卖的蛋糕都是用蛋糕机做的,而且不同种类的蛋糕由不同的蛋糕机来做,这样就有:水果蛋糕机、巧克力蛋...
2018-02-08 17:25:16 269 1
原创 JAVA基础-----JDK动态代理
关于JDK的动态代理,最为人熟知的可能要数Spring AOP的实现,默认情况下,Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对于类的代理使用CGLIB来实现。那么,什么是JDK的动态代理呢?JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。JDK从1.3开始支持动态代理。那么JDK是如何生成动态代理的呢?...
2018-02-08 17:24:20 242
原创 CGLIB动态代理的实现及原理
CGLIB介绍与原理(部分节选自网络)一、什么是CGLIB?CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择。二、CGLIB原理CGLIB原理:动态生成一个要代理类的子类,子类重写要代理的类的所有不是final的方法。在子类中...
2018-02-08 17:22:12 474
DowloadLOLPictures.java
2020-12-10
mysql-5.6.15.0.msi安装包
2020-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人