自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 论坛 (4)
  • 收藏
  • 关注

原创 C++死磕基础之指针篇(二)--对象指针简介

本篇文章主要讲解C++指针中的对象指针并通过实例进行演示。什么是对象指针对象指针是指向类的成员的指针,在C++中,对象指针就是指向类的数据成员和成员函数的指针。实例演示对象指针Test1.h:#ifndef TEST1_H#define TEST1_Hclass Student{public: Student(){} int getNum(); int getScore(); void print()const; int num; int score;};#endif

2020-11-24 23:56:06 19

原创 C++死磕基础之指针篇(一)--指针的定义

本篇文章将着重讲解C/C++中的重要知识点—指针,并会实例演示,希望通过讲解,可以让大家能够更好地理解以及使用指针。一.什么是指针1.定义指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。简而言之:计算机中的内存都是编址的,每个地址都有一个符号,类似于家庭地址和电脑的IP地址。指针变量就是用来存储这些地址变量并且可以操

2020-11-19 22:48:24 33

原创 C++的左膀右臂之动态链接库dll实例讲解

本篇文章主要讲解并且实例演示C++中的重要知识点—动态链接库dll一.动态链接库(dll)简介1.定义动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL)是实现共享函数库概念的一种方式。这些库函数的扩展名是 ”.dll"、".ocx"(包含ActiveX控制的库)或者 “.drv”(旧式的系统驱动程序)。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 文件中,该 DLL 包含一个或多个

2020-11-18 00:12:42 56

原创 C++不仅可以在h文件中定义main函数,而且还能在main函数中调用源文件中的函数

今天为大家演示一下C++中的冷门非规范编写方式:在h文件中定义main函数,且用h文件中的main函数调用源文件中的函数。写这篇文章主要是防止大家有一个固定思维,main函数不仅可以在源文件中定义执行,且main函数也可以在h文件中定义,并且调用源文件中的函数。废话不多说,直接上示例:1).首先打开VS2010,然后选择文件,点击新建,选择项目2).在弹出的对话框的左边选择Visual C++,右侧选择Win32控制台应用程序,点击确定。3).名称设置为Test后点击下一步4).选择空项目

2020-11-16 22:39:36 84

原创 Java并发工具类你值得拥有

本篇文章主要讲解Java并发工具类—CountDownLatch,Semaphore以及CyclicBarrier一.CountDownLatch简介1.概念CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其它线程执行完后再执行。例如,应用程序的主线程在负责启动框架服务的线程启动所有框架服务之后执行。2.CountDownLatch实现原理CountDownLatch是通过一个计数器来实现的,计数器的初始化值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就

2020-11-15 23:43:05 73

原创 Java线程池弄清这几个参数你会发现如此简单

本篇文章主要讲解Java线程池的相关实现一.Java线程池1.定义:线程池是事先创建若干个可执行的线程放入一个池(容器)中,需要的时候从池中获取线程不用自行创建,线程使用完毕不需要销毁线程而是放回池中,从而减少创建和销毁线程对象的开销。2.作用:创建和销毁线程是很费时间的,线程池技术正是关注如何缩短或调整创建和销毁线程时间的技术,从而提高服务器程序性能的。1).降低资源消耗:重用存在的线程,减少对象创建销毁的开销。2).提高响应速度。可有效的控制最大并发线程数,提高系统资源的使用率,同时避免过

2020-11-15 18:49:59 86

原创 从ThreadLocal的作用进行分析,你会更加了解它

本篇文章主要讲解Java并发中的一个重要知识点—ThreadLocal类ThreadLoacl简介ThreadLocal是一个本地线程副本变量类,它也是线程内部类的存储类,可以在指定线程内部存储数据,且只有指定的线程可以获取存储的数据。ThreadLocal提供了线程内存储变量的能力,这些变量在每一个线程中都是相互独立的,通过set和get方法可以得到当前线程对应的值。ThreadLoacl的相关方法1.set()方法public void set(T value) { //获取当前线程

2020-11-10 23:47:22 229 2

原创 C++使用MFC编写一个简易计算器应用程序

本篇文章主要讲解利用C++中的MFC框架编写一个简易的计算器应用程序,希望通过此例能让大家够很好地理解MFC框架。一.MFC简介1.定义MFC的全称是Microsoft Foundation Classes是微软基础类库的简称,是微软公司实现的一个C++类库,其中,主要封装了大部分windows API函数。2.设计原理MFC是应用程序开发框架,是库的集合,它向程序开发人员提供了一组服务来协助开发。通常情况下,应用程序开发框架被设计为尽可能地使开发过程合理化以及简化繁琐的编程任务。MFC可以简化大

2020-11-08 23:14:30 239

原创 Java并发之多线程、Thread类常见方法以及synchronized和volatile锁关键字详解

本系列文章主要讲解Java并发相关的知识点,包括多线程、线程死锁、创建线程的方式、synchronized和volatile关键字、CAS以及锁相关内容。一.Java并发简介1.概念:并发是指在某个时间段内,多个任务交替执行。当有多个线程运行时,将CPU运行时间划分为若干个时间段,再将这些时间段分配给各个线程执行。在一个时间段的线程代码运行时,其它线程处于挂起状态。并发与并行的区别:并发指的是多个任务交替进行,而并行是真正意义上的同时进行。实际中,如果系统只有一个CPU,使用多线程时,在真实系统环

2020-10-25 22:35:54 163

原创 线程安全集合之CopyOnWriteArrayList详解

本篇文章主要介绍线程安全集合之CopyOnWriteArrayList前言:通过前面对Java集合的学习我们可以知道以下知识点:Map接口中的HashMap是线程不安全的,而HashTable、ConcurrentHash是线程安全的。同样的,对于Collection接口中,我们也知道ArrayList是线程不安全的,那么除了Vector是线程安全的,是否还有其他集合也是线程安全的呢?这里我们就要讲到List集合中的线程安全的集合CopyOnWriteArrayList一.CopyOnWriteA

2020-10-19 00:22:10 177

原创 HashMap线程不安全详细讲解

基于JDK1.7与JDK1.8HashMap线程安全问题前言通过学习HashMap,我们可以总结:HashMap是线程不安全的,而HashTable是线程安全的。那么,为何HashMap是线程不安全的呢?本篇文章通过JDK1.7和JDK1.8分别讲解为何HashMap是线程不安全的。一.JDK1.7分析HashMap线程不安全首先,先来看一下JDK1.7中HashMap的相关源码,只有通过源码,我们才能找出其中线程不安全的地方。1.底层数据结构只数组://空的存储实体 transient

2020-10-13 00:33:49 240 1

原创 彻底理解HashMap中两大核心源码hash及indexFor算法

本篇文章主要讲解和实例演示HashMap两大核心源码:hash算法及indexFor算法,希望大家通过阅读本篇文章后,能够彻底理解这两大源码的方法和作用一.HashMap的介绍先简单过一下HashMap的概念,我们都知道Java集合有两大接口Collection和Map,本篇介绍的集合是实现Map接口的HashMap。特点:我们知道HashMap是用来存储键值对的一种集合,存入元素时,以key和value同时存入HashMap中。HashMap的作用(有什么好处我们为什么要用它):我之前的文章也介绍

2020-10-03 09:59:02 248

原创 Java数组你想要的都在这里

本篇文章主要讲解Java数组的一些常用方法,并进行实例演示前言在Java中,数组可以说是比较重要的基础之一,它出现在Java的方方面面,不管是算法、数据结构中,都能经常看见它的身影,而这也成为了面试官经常考察应聘者的能力水平之一,所以,对数组的深入学习显得尤为重要。一.数组的定义数组简介:数组是用来存储固定大小类型元素的一种数据结构。数组的特点:1.数组的长度是固定的,数组一旦被创建,它的大小就是不可改变的。2.数组中的元素类型必须相同,不能出现混合类型。3.数组类型可以是基本数据类型和

2020-09-29 23:55:57 754

原创 ArrayList常见问题知识点

本篇文章主要收集关于JavaArrayList的常见问题前言本文主要以一问一答的方式来讲解ArrayList的常见问题,模拟面试官的提问,以及我们自己回答问题的方式。在学习完一个知识点后,我们需要学会处理相应的问题,以及学会如何应对面试官的提问。Q:ArrayList是什么?ArrayList是Java集合中的数组列表,实现了List接口,是用来存储数据的容器之一,底层的数据结构是数组。Q:ArrayList有什么特点?有序:按照顺序添加元素不唯一:同一元素可以存放多次查找和访问速度较快

2020-09-27 00:17:35 382 1

原创 HashMap通过value遍历key的两种方式

HashMap:通过key遍历value以及通过value遍历key实例演示一.通过key遍历value1.通过keySet取出 map元素使用for-each循环import java.util.*;import java.util.Set;import java.util.Map;public class HashMapExample { public static void main(String[] args){ Map<String,String>m

2020-09-22 23:03:21 306

原创 HashMap实例演示---key-value的类型

HashMap实例演示—key-value的类型前言对于HashMap的基础学习,相信网上已经有很多很详细的讲解,包括各种深入的源码的分析,各种拓展知识,以及各种和面试官的针锋相对。在这里,我不在进行源码的分析,而是直接用案例向大家演示一下HashMap的实现,让大家带着实际案例学习,我认为这是一个好的学习方式。一.key为自定义对象,value为String类型我们知道,HashMap是以key-value类型进行元素存储的集合,而集合里一般是存储对象的,所以我先以自定义对象作为key,Str

2020-09-21 23:20:17 300

原创 Java常见误区

在学习Java之前我们要懂得一些Java的基础常识问题,如果一些细节不注意,你甚至连程序都无法运行,只能通过报错来查找问题,这样既考验了你的英文能力,又耽误了时间,所以,在学习之前需要弄清一些经常会遇到的错误

2020-09-20 16:32:45 281

空空如也

HashMap对hashcode进行扰动计算后为何在计算indexFor时,不直接return h

发表于 2020-09-30 最后回复 2020-09-30

Java基础之list map和数组的输出格式问题

发表于 2020-09-21 最后回复 2020-09-21

HashMap中如何通过value获取key,并以集合列出来

发表于 2020-09-18 最后回复 2020-09-18

Python tkinter

发表于 2019-04-12 最后回复 2019-04-12

空空如也

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

TA关注的人 TA的粉丝

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