深圳幻海软件技术有限公司 欢迎您!

  • 【数据结构】手撕顺序表

    一,概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储;在数组上完成数据的增删查改。 1, 静态顺序表:使用定长数组存储元素。2.,动态顺序表:使用动态开辟的数组存储。 二,接口实现静态顺序表只适用于确定知道需要存多少数据的

  • 【进阶C语言】内存函数(详解)

    前言上一期讲的函数都是和字符串相关的,但是我们在操作数据的时候,不仅仅是操作字符串的数据,还得需要内存函数的应用内存函数的应用1.memcpy1.1memcpy的介绍1.2memcpy的使用1.3模拟实现memcpy库函数1.4我想在1,2后面打印1,2,3,4,5会怎么样?2.memmove2.1

  • Android 课设之个人音乐播放器

    第一章绪论1.1选题背景由于时代快速发展,各种各样的音乐播放器层出不穷,此时需要一个可以根据个人爱好来播放的音乐播放器就尤为重要,因此我特意制作了一个根据自己喜好的音乐播放器,只需要把音乐文件放进制定的目录下即可。1.2开发技术该App利用了SQlite数据库对于用户的管理,还有MediaPlaye

  • 西瓜视频 iOS 播放器技术重构

    播放器简介播放器是西瓜视频等视频类App最主要的业务场景,也是最主要的流量入口,其承载包括下层基础播放,上层的各种播放业务:状态栏、弹幕、音量、亮度、评论、点赞、进度、倍速、清晰度、选集、合集、商业化等。西瓜对整个业务播放器做了整体抽象,提供了一套可插拔,可复用的播放器业务框架,包括:视频播放、播控

  • 面向对象五大设计原则,你学会了吗?

    最近在看七牛云许式伟的架构课,重温了面向对象五大设计原则(SOLID)。(当然许老板是不可能深聊这么低级的内容)。注意区分设计原则和设计模式。设计原则更为抽象和泛化;设计模式也是抽象或泛化的良好实践,但是它们提供了更具体和实用的底层建议。面 as向对象5大原则SingleResponsib

  • Zookeeper系列—Zookeeper应用及常用命令

    第1章常用命令zk的应用主要是针对三类:java原生zk客户端的API操作(不用去学这部分内容,会增加太多的学习成本,了解一下就好了)。zkClient的使用,它是对Zookeeper原生API的封装。ApacheCurator,也是对ZookeeperAPI的封装(本文讲的应用针对这部分内容)。在

  • C开发中段错误的三种调试方法

    大家好,我是杂烩君。嵌入式C开发,或多或少都遇到段错误(segmentationfault)。段错误相比于总线错误,是一种更常见的错误。段错误是怎么产生的呢?段错误是因为访问不可访问的内存产生的。下面是一些典型的段错误产生的原因:访问不存在的内存地址访问只读的内存地址栈溢出内存越界……段错误实例1、

  • 并发编程:CompletableFuture异步编程没有那么难

    根大家好,我是七哥,今天给大家分享一个非常强大的工具类:CompletableFuture,如果你平时也会遇到用多线程优化业务逻辑的场景,那么今天这篇文章我建议你读完,相信一定会让你在重构相关代码时得心应手,写出让人称赞的好代码😄,不过使用CompletableFuture的前提是JDK需要1.8

  • 策略模式简洁的实现方式,你知道吗?

    ifelse太多了最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的。复制if(msgType="文本"){//dosomething}elseif(msgType="图片"){//doshomething}elseif(msgType="视频"){/

  • Synchronized 的几种错误用法,你会了吗?

    大家好,我是指北君。synchronized在我们平常工作中也是挺常用的,对于摆脱多线程问题很有帮助。但是如果synchronized被错误使用时,可能会给我们带来很多麻烦。在本文中,我们将讨论与同步相关的一些不好的做法,以及针对每个使用情况的更好的方法。同步的原则一般来说,我们应该只对那些我们确信

  • Java反序列化基础篇-JDK动态代理

    0x01Java的代理模式先说说什么是代理模式,要说代理模式,得从代理说起。下面一张图中的中介,就是我们所说的代理。1.静态代理简单理解静态代理以租客找中介向房东租房子为例想要实现租客找中介租房东,在Java中就需要4个文件,分别是房源、房东、中介、租客,其中房源应该是接口,其余三项为类。不明白房源

  • Spring框架之基于Java的容器注解

    我们将介绍如何在Java代码中使用注解来配置Spring容器。它包括:BasicConcepts:@Beanand@Configuration。InstantiatingtheSpringContainerbyUsing。AnnotationConfigApplicationContext。Usin

  • 实战:十种实现延迟任务的方法,附代码!

    好了,话不多说,直接进入今天的主题,本文的主要内容如下图所示:什么是延迟任务?顾名思议,我们把需要延迟执行的任务叫做延迟任务。延迟任务的使用场景有以下这些:红包24小时未被查收,需要延迟执退还业务;每个月账单日,需要给用户发送当月的对账单;订单下单之后30分钟后,用户如果没有付钱,系统需要自动取消订

  • 如何动态地给一个类增加功能?

    哈喽,大家好,我是指北君。今天给大家介绍另一种常用的设计模式——装饰器模式。1.什么是装饰器模式?Attachadditionalresponsibilitiestoanobjectdynamicallykeepingthesameinterface.Decoratorsprovideaflexib

  • 聊聊并发编程的12种业务场景

    前言并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。之前我发表的一篇《​​聊聊并发编程的10个坑​​》,在全网广受好评。说明了这类文章还是比较有价值的,接下来,打算继续聊聊并发编程这个话题。并发编程说白了就是多线程编程,但多线程一定比单线程效率更高?答:不一定,要看具体业务场景

  • 聊聊并发编程的十个坑

    对于从事后端开发的同学来说,并发编程肯定再熟悉不过了。说实话,在Java中并发编程是一大难点,至少我是这么认为的。不光理解起来比较费劲,使用起来更容易踩坑。不信,让继续往下面看。今天重点跟大家一起聊聊并发编程的十个坑,希望对你有帮助。1.SimpleDateFormat线程不安全在java8之前,我

  • 实操 Synchronized关键字,拿下它!

    本文大纲:synchronized是啥?synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。主要用法如下:1.修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码

  • 一篇文章带你了解Hashtable类中的方法

    大家好,我是Java进阶者。一、Hashtable类Hashtable类描述的是散列表,也称哈希表,它通过映射集合的方式,将一个元素通过其关键字与其存储位置相关联。散列表使用关键字查找元素,而不是使用线性搜索技术来查找元素,从而使查找性能大幅度提升。二、Hashtable类booleancontai

  • Spring Security非常难的地方就是这个了

    SpringSecurity最难的地方就是HttpSecurity的顶层设计。不信你看看HttpSecurity的定义。复制public final class HttpSecurity extends AbstractConfiguredSecur

  • 在Java中12个常见的语法糖

    本文从Java编译原理角度,深入字节码及class文件,抽丝剥茧,了解Java中的语法糖原理及用法,帮助大家在学会如何使用Java语法糖的同时,了解这些语法糖背后的原理语法糖语法糖(SyntacticSugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机

推荐阅读