自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Git 常用命令

基础命令~/.gitconfig 只针对当前用户。 可以传递 --global 选项让 Git 读写此文件。当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库git config --list命令来列出所有 Git 当时能找到的配置git config 来检查 Git 的某一项配置$ git init初始化仓库$ git add *....

2019-11-27 14:34:53 244

原创 第三次实验

1. 数据挖掘:将房价网站的数据爬取下来保存成xlsx文件import reimport numpy as npimport osimport pandas as pdfrom urllib import requestimport openpyxlimport xlsxwriterimport randomclass Get(): result_list = []...

2019-10-09 20:29:49 323

原创 最长回文子串经典两种算法

中心扩展与manacher

2019-10-06 19:54:22 470

原创 spring MVC

什么是Spring MVC ?简单介绍下你对springMVC的理解?Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,它是Spring的一个模块,无需中间整合层来整合 ,属于表现层的框架。在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开...

2019-09-11 21:47:30 272

原创 Spring面试总结

介绍spring框架Spring 为简化企业级应用开发而生的一个开源框架. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.Spring 是一个 IOC(DI) 和 AOP 容器框架。IOC(Inversion of Control,控制反转)其思想是反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源. 作为回应, 容器适...

2019-09-09 21:35:51 354

原创 面试题整理

1、 ++1,1++public class Test { public static void main(String[] args) { int i = 2; int k = ++i; // i=i+1=3 k=i=3 int t = i+ ++i + i++; // t = 3+(3+1)+4 //++i 已经对i加...

2019-09-01 12:00:22 31502 4

原创 Java网络编程

1. 网络通信协议2. 网络编程中两个主要的问题如何准确地定位网络上一台或多台主机;定位主机上特定的应用:IP地址(InetAddress)和端口号找到主机后如何可靠高效的进行数据传播:网络通信协议3. TCP UDP协议细节TCP使用TCP协议前,须先建立TCP连接,形成传输数据通道 传输器,采用三次握手方式,点对点通信,是可靠的TCP协议进行通信的两个应用...

2019-09-01 07:57:26 337

原创 Stream API

Stream APIStream API(java.util.stream)把真正的函数式编程引入到java中Stream API是java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找,过滤和映射数据等操作。就类似于使用SQL执行的数据库查询,也可以并行执行操作,简而言之,提供了一种高效且易于使用的处理数据的方式。1、 java.util.fun...

2019-08-19 20:27:22 247

原创 反射的应用:动态代理

1、代理设计模式的原理使用一个代理将对象包装起来,然后用该代理替代原始对象,任何对对象的调用都要通过代理,代理对象决定是否以及何时将方法调用转到原始对象上。2、静态代理示例/** * @auther hu * @create 2019/8/18 * <p> * 静态代理示例 * 代理类和被代理类在编译期间,就确定下来了 */interface ClotheFacto...

2019-08-19 12:05:04 261

原创 Java 反射机制

1、概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助反射API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就会产生一个class类型的对象,这个对象就包含了完整的类的结构信息,我们可以通过这个对象看到类的结构。动态语言:在运行时代码可以根据某些条件改变自身结构。主要APIjava.lang.Clas...

2019-08-18 17:40:45 295

原创 一个简单的JSP转化的servlet类的代码

/* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/9.0.10 * Generated at: 2019-08-15 00:23:40 UTC * Note: The last modified time of this file was set to * the ...

2019-08-15 08:35:22 497

原创 计算机网络面试易考知识总结

1. 计算机网络体系结构2. 各层描述层描述应用层应用层为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。传输层第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段 (segments)而UDP协议的数据单元称为“数据报(datag...

2019-08-14 11:26:21 635

原创 Java IO

IO流java IO原理I/O是input/output的缩写,用于处理设备之间的数据传输,如读写文件,网络通讯等。java程序中,对于数据的输入/输出以流(stream)的方式进行。java.io包下提供了各种流类和接口,用于获取不同种类的数据,并通过标准的方法输入或输出数据对于输入输出的概念需要站在程序的角度考虑:输入input:读取外部数据(磁盘、光盘等存储设备的数据)到...

2019-08-12 20:48:15 369

原创 排序算法

排序算法1、 冒泡排序public class BubbleSort { /** * 普通版本 */ public static void sort(int[] arr){ int tem; for (int i = 0; i <= arr.length-2; i++) { for (in...

2019-08-09 17:14:06 375

原创 Linux

第1章 Linuxr入门1.1 Linux介绍Linux怎么读【李纽克斯,利尼克斯,里纳克斯】Linux是一款操作系统,免费,开源,高效,稳定,处理高并发非常强悍,现在很多的企业级项目都部署到Linux/unix服务器运行。Linux创始人:linus 林纳斯,吉祥物:企鹅Linux主要的发行版:1.2 Linux和Unix的关系http://c.biancheng.n...

2019-08-02 11:11:50 2033

原创 死锁编码及定位分析

死锁编码及定位分析class Resource{ String re_a = "re_a"; String re_b = "re_b";}public class Test { public static void main(String[] args) { Resource s = new Resource(); new Thr...

2019-07-18 19:27:20 176

原创 自定义一个线程池

自定义一个线程池public class Test2 { public static void main(String[] args) { ExecutorService service = new ThreadPoolExecutor( 2, //...

2019-07-18 14:19:06 193

原创 Executors的常用三种线程池

常用三种线程池 newFixedThreadPool定义一个定长线程池,可控制最大线程并发数,超过的线程会在队列中等待 public class Test { public static void main(String[] args) { ExecutorService executorService = Executors.newFixedThreadPo...

2019-07-18 14:12:35 1071

原创 Callable

Callablepublic class Test { public static void main(String[] args) throws ExecutionException, InterruptedException { FutureTask<Integer> futureTask = new FutureTask(new MyCallable()...

2019-07-18 08:46:10 151

原创 生产者-消费者

生产者-消费者 传统版本/** * 生产者,消费者传统版 */class MyData{ //资源类 private int number; private Lock lock = new ReentrantLock(); private Condition condition = lock.newCondition(); public void inc...

2019-07-17 14:35:06 170

原创 SynchronousQueue

SynchronousQueue每一个put操作必须要等待一个take操作,否则不会继续添加元素。public class Test { public static void main(String[] args) { SynchronousQueue<String> synchronousQueue = new SynchronousQueue();...

2019-07-16 20:56:33 257

原创 信号量模拟6辆车抢三个车位的情况

信号量模拟6辆车抢三个车位的情况public class Test { public static void main(String[] args) { Semaphore semaphore = new Semaphore(3);//模拟3个停车位 for (int i = 1; i <= 6; i++) { //模拟6辆车 ...

2019-07-16 15:20:33 454

原创 CycileBarrier

CycileBarrier可循环使用的屏障:它的作用是让一组线程到达一个屏障时被阻塞,直到最后一个线程到达,屏障被打开,所有被屏障拦截的线程才会继续干活,线程进入屏障使用await方法。public class Test { public static void main(String[] args) { CyclicBarrier cyclicBarrier = ...

2019-07-16 14:58:42 425

原创 CountDownLatch

CountDownLatchpublic class Test { public static void main(String[] args) throws InterruptedException { CountDownLatch countDownLatch = new CountDownLatch(5); for (int i = 1; i &lt...

2019-07-16 13:49:36 163

原创 读写锁 ReetrantReadWriteLock

读写锁 ReetrantReadWriteLockclass MyHashMap{ private volatile Map<Object,Object> map = new HashMap<>(); private ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock(); pub...

2019-07-16 13:08:01 211

原创 手写一个自旋锁

手写一个自旋锁class MySpinLock{ AtomicReference<Thread> reference = new AtomicReference<>(); public void lock(){ System.out.println(Thread.currentThread().getName()+" want to ge...

2019-07-16 11:38:47 581

原创 可重入锁(递归锁)

可重入锁(递归锁)/** * 可重入锁(递归锁) * 指的是同一线程外层函数获得锁之后,内层函数仍然能自动获取该锁的代码 * 在同一线程,外层函数获得锁的时候,在进入内层函数时会自动获取锁 */class Phone{ Lock lock = new ReentrantLock(); //**************************************...

2019-07-16 09:26:05 204

原创 集合类(ArrayList)并发修改异常的解决方案及内部实现

集合类并发修改异常的解决方案及内部实现new Vector()add方法中使用synchronized关键字解决了并发修改异常,但并发度下降 public synchronized void addElement(E obj) { modCount++; ensureCapacityHelper(elementCount + 1); el...

2019-07-15 14:46:07 1032

原创 集合类并发修改异常案例展示: ArrayList

集合类并发修改异常案例展示: ArrayListpublic class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); for (int i = 0; i <5 ; i++) { ...

2019-07-15 13:41:13 224

原创 使用AtomicStampedReference解决ABA问题

使用AtomicStampedReference解决ABA问题public class Test { public static void main(String[] args) { AtomicStampedReference<Integer> stampedReference = new AtomicStampedReference<>(100...

2019-07-14 15:17:42 425

原创 原子引用-AtomicReference

原子引用-AtomicReferenceclass User{ String name; Integer age; @Override public String toString() { return "User{" + "name='" + name + '\'' + ", ag...

2019-07-14 14:20:42 653

原创 CAS并发原语调用UnSafe类的CAS方法

CAS并发原语–>调用UnSafe类的CAS方法AtomicInteger integer = new AtomicInteger(0);integer.compareAndSet(0,1);//package java.util.concurrent.atomic//valueoffset为对象的内存地址public final boolean compareAndSet(i...

2019-07-14 13:25:40 378

原创 AtomicInteger的CAS

AtomicInteger的CASpublic class Test { /** * CSA compareAndSet 比较并交换 * */ public static void main(String[] args) { AtomicInteger integer = new AtomicInteger(0); ...

2019-07-14 11:06:16 194

原创 加volatile的单例模式

加volatile的单例模式class Single{ volatile private static Single singleStance = null; private Single(){ System.out.println("Single 的构造方法被执行了!!!"); } public static Single getSingleS...

2019-07-13 23:20:34 383

原创 多线程下指令重排导致的问题

多线程下指令重排导致的问题class MyData{ int a = 0; boolean f = false; public void change_status(){ a = 1; //指令1 f = true; //指令2 //如果存在指令重排,可能导致指令 2 早于指令 1 执行,存在一种情况: f...

2019-07-13 21:19:03 734

原创 volatile的不保证原子性的证明

volatile的不保证原子性的证明class MyData{ volatile int number; public void increaseOne(){ this.number++; }}public class Test { public static void main(String[] args) { MyData ...

2019-07-13 17:51:42 190

原创 volatile的可见性证明

volatile的可见性证明class Mydata{ volatile int number = 0; public void change(){ this.number=1; }}public class Test { public static void main(String[] args) { Mydata mydat...

2019-07-13 17:04:49 436 2

原创 传感器采集数据上传路径规则

1、 使用get或post 请求发送数据到服务器,将数据后缀在URL中,成功返回success温湿度: 数值整数最大为3位,小数部分最大也为3位 ,ak为用户的访问密钥,可登陆应用平台获得http://119.23.106.49:8083/upload/temperature?temperature=10&humidity=10&ak=p3uws9S0gtZDID0f...

2019-06-04 16:02:15 1889

原创 JDK的安装目录详解与JVM的介绍与环境变量的配置

··JDK的文件目录详解与JVM的介绍与环境变量的配置\color{CornflowerBlue}{JDK的文件目录详解与JVM的介绍与环境变量的配置}JDK的文件目录详解与JVM的介绍与环境变量的配置JDK\color{SteelBlue}{JDK}JDKJDKJava Development Kit)Java 开发工具包介绍JDK是一个使用Java编程语...

2019-05-26 21:28:40 1336

原创 Java访问控制符和修饰符

Java访问控制符和修饰符··Java访问控制符的含义和使用情况·类内部同包子类外包public√√√√protected√√√default(friendly)√√√(仅限于同包子类)private√·类·public公共的,对所有包可见default同包可以访问 ...

2019-05-26 10:01:29 339

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除