基础
文章平均质量分 77
付石头_stone
这个作者很懒,什么都没留下…
展开
-
【python】type和isinstance的用法和区别
引言最近考试遇到这样一道考题:class Ve: passclass Tu: passif __name__ == '__main__': print(type(Ve()) == Ve) print(type(Tu()) == Ve) print(isinstance(Ve(), Ve)) print(isinstance(Tu(), Ve))输出的结果是?在python里,虽然经常使用type和isinstance,但要说两者之间的共同点和原创 2022-03-09 20:14:33 · 4421 阅读 · 3 评论 -
java的CAS和AQS(清晰)
本文转自:https://blog.csdn.net/u010862794/article/details/72892300 说起JAVA并发编程,就不得不聊聊CAS(Compare And Swap)和AQS了(AbstractQueuedSynchronizer)。CAS(Compare And Swap)什么是CASCAS(Compare And Swap),即比较并交...转载 2019-04-03 09:43:58 · 922 阅读 · 0 评论 -
用LinkedHashMap实现LRU(Java面试常考)
LRU(Least Recently Used):最近最久未使用策略,优先淘汰最久未使用的数据,也就是上次被访问时间距离现在最久的数据。该策略可以保证内存中的数据都是热点数据,也就是经常被访问的数据,从而保证缓存命中率。使用LinkedHashMap实现LinkedHashMap底层就是用的【**HashMap**】加【**双链表**】实现的,而且本身已经实现了按照访问顺序的存储。此外,L...原创 2019-04-08 15:54:06 · 4082 阅读 · 0 评论 -
java-常量池
一.相关概念1. 什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。2. Class文件中的常量池在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号,再接着...转载 2019-04-11 17:17:49 · 273 阅读 · 0 评论 -
深入理解ThreadLocal(讲解清晰)
彻底理解ThreadLocal参考:http://www.iteye.com/topic/103804http://www.iteye.com/topic/777716源码分析 为了解释ThreadLocal类的工作原理,必须同时介绍与其工作甚密的其他几个类ThreadLocalMap(内部类)Thread 首先,在Thread类中有一行: /* ThreadLoc...转载 2019-04-02 14:11:24 · 952 阅读 · 0 评论 -
线程池深度剖析-全面&易懂
读完本文你将了解:什么是线程池线程池的处理流程保存待执行任务的阻塞队列创建自己的线程池JDK 提供的线程池及使用场景newFixedThreadPoolnewSingleThreadExecutornewCachedThreadPoolnewScheduledThreadPool两种提交任务的方法executesu...转载 2019-04-02 09:59:09 · 528 阅读 · 1 评论 -
缓存穿透、缓存击穿、缓存雪崩的区别及解决方案
一、缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 二、缓存穿透 ...转载 2019-04-07 11:56:27 · 212 阅读 · 0 评论 -
Java面试之缓存
1、什么是缓存? ☞ 缓存就是数据交换的缓冲区(称作:Cache),当某一硬件要读取数据时,会首先从缓存汇总查询数据,有则直接执行,不存在时从内存中获取。由于缓存的数据比内存快的多,所以缓存的作用就是帮助硬件更快的运行。 ☞ 缓存往往使用的是RAM(断电既掉的非永久存储),...转载 2019-04-06 22:43:49 · 487 阅读 · 0 评论 -
耦合和解耦
一、耦合1、耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。2、在软件工程中,对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小。3、分类:有软硬件之间的耦合,还有软件各模块之间的耦合。耦合性是程序结构中...转载 2019-03-31 15:25:26 · 978 阅读 · 0 评论 -
同步、异步区别
同步:同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。异步:将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感...转载 2019-03-30 22:13:01 · 101 阅读 · 0 评论 -
JAVA反射-通俗易懂版
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的...转载 2019-03-30 10:54:51 · 236 阅读 · 0 评论 -
深入了解线程和线程池(图解)
关于线程和线程池的学习,我们可以从以下几个方面入手:第一,什么是线程,线程和进程的区别是什么第二,线程中的基本概念,线程的生命周期第三,单线程和多线程第四,线程池的原理解析第五,常见的几种线程池的特点以及各自的应用场景一、线程,程序执行流的最小执行单位,是行程中的实际运作单位,经常容易和进程这个概念混淆。那么...转载 2019-03-19 11:10:58 · 288 阅读 · 0 评论 -
二叉树的前序、中序、后序、层次遍历(递归+非递归)+层次遍历分层输出-java实现
总结一下,二叉树的各种遍历的递归和非递归实现,以及层次遍历(每一层输出一行)实现代码如下:package stone.offer.scu;import java.awt.HeadlessException;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java...原创 2019-03-22 11:17:32 · 895 阅读 · 0 评论 -
CRUD
本文转自:https://blog.csdn.net/qq_42672839什么是CRUD? CRUD的操作 CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母...转载 2019-05-27 19:16:55 · 1894 阅读 · 0 评论 -
servlet和filter的区别
servlet和filter的区别 今天被人问到 servlet和filter的区别 ,在我印象中 servlet和filter是两种不同的东西 , 怎么还问区别 在我看来区别大了但又不知道怎么说, 当场都懵逼了 。 赶紧问问度娘 ,得到以下答案 。给自己一个答案主要从如下四个方面介绍他们之间的区别: ...转载 2019-06-12 18:05:16 · 1365 阅读 · 0 评论 -
什么是ORM?为什么要用ORM?
了解orm,先了解以下概念:什么是“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。...转载 2019-05-29 13:40:14 · 145627 阅读 · 4 评论 -
面试-手撕快排-java实现
快要秋招了,可能会手撕快排,提前准备,记录一下。/*** 快排,是冒泡的一个改进;注意:快排【不稳定】,它有可能打破原来值为相同的元素之间的顺序。* 采用分治法,通过一趟排序将数据分为两部分,比基准值小的元素放在基准值的前面,比基准值大的元素放在基准后面;* 递归子序列* 最好情况和平均时间复杂度都是O(nlogn) ;最坏时间复杂度为O(n^2),空间复杂度为O(1)*/方式1: ...原创 2019-08-08 22:00:22 · 625 阅读 · 0 评论 -
面试-堆排序(heapSort)以及最大/小的k个数-java实现
Q:同学面试腾讯的时候被问到:王者荣耀用户上亿,如何快速的从亿级数据量中找出排名榜首的几位玩家?A:对于这种数据量比较大的情况,堆排序比较合适,而且堆排序每一轮可以找出当前数据中最大(大顶堆)或最小(小顶堆)的数,所以对于以上问题,用堆排序是不错的选择。以找出输入数据中【最小的k个数】为例,java实现如下:package com.sap.stone;import java.util...原创 2019-08-08 14:21:38 · 735 阅读 · 0 评论 -
笔试面试--总结7大常用排序算法(Java实现&详细)
秋招了,总结整理一下常用的排序算法…tip:文章略长,可直接跳到文末查看总结和巧记口诀。package scu.stone.spring;import java.util.Arrays;public class Sorting { public static void main(String[] args) { int [] array = {3,2,4,1,5,6,9,7,...原创 2019-07-22 20:31:26 · 413 阅读 · 0 评论 -
将本地项目上传到github
转载自:https://blog.csdn.net/Lucky_LXG/article/details/77849212 将本地项目上传到Github(两种简单、方便的方法)一、第一种方法:首先你需要一个github账号,所有还没有的话先去注册吧!https://github.com/我们使用git需要先安装gi...转载 2019-07-22 12:44:34 · 156 阅读 · 0 评论 -
笔试-给定数组,按出现频率递减输出到链表中
*输入:1 1 1 2 2 3 3 3 3 3*输出:3 3 3 3 3 1 1 1 2 2注:3 出现5次,1出现3次,2出现1次。代码实现如下:import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import j...原创 2019-08-02 17:42:01 · 165 阅读 · 0 评论 -
Arrays.sort 降序排列
今天一个需求里需要用到降序排列,首先想到了Arrays.sort方法,但是Arrays.sort默认是升序排列,可以使用一下方式来达到降序的需求。Arrays.sort(a,Collections.reverseOrder());但是存在一个问题,Arrays.sort(a,Collections.reverseOrder())不支持基本类型(int,double,char等),如果是in...原创 2019-07-17 16:45:01 · 22422 阅读 · 0 评论 -
eclipse下如何将相同的包名合并在一起
在eclipse 左边 Package Explorer菜单点击一下倒三角 ,点开–Package Presentation —Flat 和 Hierarchical->选择Hierarchical就可以并列显示包了效果如下:原创 2019-07-03 17:26:30 · 4067 阅读 · 0 评论 -
domain、entity和model的package的不同用法
鼓励使用service domain dao 层分层设计概念。其次,对几层作用的理解: 第一:dao层操作单表,不涉及复杂逻辑,主要是表的增删改查操作,完全根据doma...转载 2019-07-02 17:02:00 · 2648 阅读 · 0 评论 -
Anconda安装tensorflow,CPU版
近两年掀起的人工智能热将人工神经网络技术推向了新技术的最前沿。毋庸置疑,人工智能的再次兴起得益于深度神经网络理论的突破和革新,而深度神经网络技术的表现也将很大程度上决...转载 2019-06-22 21:06:09 · 3268 阅读 · 3 评论 -
idea常用快捷键记录(持续更新中)
idea常用的快捷键Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space ...原创 2019-06-17 13:17:57 · 174 阅读 · 0 评论 -
annoconda的安装和配置(window 10)
本文转载自: https://blog.csdn.net/qq_37392932/article/details/81210470 Anaconda 是一个包含数据科学常用包的 Python 发行版本。它基于 conda ——一个包和环境管理器——衍生而来。你将使用 conda 创建环境,以便分隔使用不同 Pyt...转载 2019-06-20 23:30:09 · 14163 阅读 · 0 评论 -
认证 (authentication) 和授权 (authorization) 的区别(通俗易懂!!)
以前一直分不清 authentication 和 authorization,其实很简单,举个例子来说:你要登机,你需要出示你的身份证和机票,身份证是为了证明你张三确实是你张三,这就是 authentication;而机票是为了证明你张三确实买了票可以上飞机,这就是 authoriza...转载 2019-06-04 15:55:22 · 32767 阅读 · 5 评论 -
CountDownLatch和CyclicBarrier的区别
CountDownLatch:countdownLatch经常用于监听某些初始化操作,等待初始化执行完毕后,再通知主线程继续工作。同步辅助类,在完成一组正在执行的操作之前,它允许一个或多个线程一直等待。实例化CountDownLatch时,需要制定唤醒次数。当线程执行了CountDownLatch.aw...转载 2019-03-13 09:26:06 · 154 阅读 · 0 评论 -
java:值传递和引用传递
不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义;一、基本类型和引用类型的不通之处int num = 10;String str = "hello";如图:num是基本类型,值就直接保存在变量中;而str是引用类型,变量中保存的只是实际对象的地址。一般称这种变量为“引用”,引用指向实际对象,实际对象中保存着内容。赋值运算符 “=” ...原创 2019-03-19 22:16:41 · 157 阅读 · 0 评论 -
图解:String、StringBuffer与StringBuilder的区别
本文转载自:https://blog.csdn.net/weixin_41101173/article/details/79677982 感谢原博主 一、Java String 类——String字符串常量字符串广泛应用 在Java 编程中,在 Java 中字...转载 2018-11-07 11:20:58 · 196 阅读 · 0 评论 -
给新手程序猿的16个工作必备小妙招
给新手程序员的16个工作必备小妙招,省下时间去LOL吧! 写在前面:这个文章核心并不是程序优化的具体技巧,而是拿到一个问题如何思考和利用工具的通用方法。比如即使我们不知道 profiler 这个东西,通过搜索"代码 每一行 时间"也可以很快知道有这样的工具叫做 profiler,并且学会怎么使用。即使不知道 rand 这个函数怎么加...转载 2018-09-21 11:11:39 · 392 阅读 · 0 评论 -
window10下配置Java环境+eclipse安装
今天换了新电脑,需要在win10中重新安装eclipse。1、在官网下载jdk。目前最新版本为jdk8。http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。根据自己系统的版本选择,对应的jdk文件,注意一定要选择正确的文件,我就是因为下载错了版本,找了一天的bug。在jdk的下载转载 2018-04-04 11:22:03 · 835 阅读 · 0 评论 -
vmware虚拟机与主机共享网络
我的虚拟机总是各种连不上网,每次都要折腾一番。现在我把虚拟机连不上网的原因总体排查一下,按照流程一步步来,基本上可以解决大部分人的问题。首先,在VMware的编辑->虚拟网络编辑器重新建立NAT网络(之前的要删掉,新建的同样选择VMnet8就可以)。如果还不能上网,在windows的服务里面,看一下确保这三项已经打开,如果服务处于停止状态重新开启并且设置为自动运行。(注:使用360加速球优化可能会转载 2018-04-04 11:07:56 · 12752 阅读 · 0 评论 -
Java中关于日期的年月日时分秒的加减计算
下面给大家提供关于java.util.Date 中的加加减减先以年为例[java] view plain copy print?public static Date addOrMinusYear(long ti, int i) throws Exception { Date rtn = null; GregorianCalendar cal = new Gre转载 2018-03-28 19:22:52 · 2899 阅读 · 0 评论 -
OracleBulkCopy 批量插入oracle数据库的方法
只有安装了Oracle 11G客户端的机器上才可以用,要用到ODP.NET组件中的oracleDataAccess.DLL,命名空间引用为Oracle.DataAccess.Client;[csharp] view plain copy print?#region 批量插入数据 /// <summary> /// 批量插入数据 /// </su转载 2018-03-27 13:52:18 · 1443 阅读 · 0 评论 -
POI操作excel详解,HSSF和XSSF两种方式的区别
HSSF方式:[java] view plain copy print?package com.tools.poi.lesson1; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExcepti转载 2018-03-22 22:30:18 · 6795 阅读 · 0 评论 -
命令行导出mysql到xml文件
mysql -X -uroot -proot -e “use test; show variables like ‘%version%’;”参数-X表示生成xml格式的输出 , 参数-e表示执行后面的命令 导出表数据到xml文件mysql -X -uroot -proot -e “use test; select * from test;” > ./a.xml 导入xml文件的内容到数据库表.转载 2018-03-19 10:38:28 · 467 阅读 · 1 评论 -
JAVA SWING 日期选择控件(目前支持JLable和JTextField)
java swing 日期选择控件(支持jlable和jTextField)转载 2018-03-02 16:02:34 · 1719 阅读 · 1 评论 -
java 获取当前时间的4种方法
1、Date day=new Date(); SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); System.out.println(df.format(day)); 通过Date类来获取当前时间 2、SimpleDateFormat df = new SimpleDateFormat(“yy转载 2018-03-16 11:28:06 · 6484 阅读 · 0 评论