-
Java集合类:AbstractCollection源码介绍
所属栏目:[PHP教程] 日期:2021-11-13 热度:158
一、Collection接口 从《Java集合:整体结构》一文中我们知道所有的List和Set都继承自Collection接口,该接口类提供了集合最基本的方法,虽然List接口和Set等都有一些自己独有的方法,但是基本的操作类似。我们先看下Collection接口提供的方法: 总体上可以[详细]
-
Python达成SSH隧道功能
所属栏目:[PHP教程] 日期:2021-11-13 热度:128
试想在如下环境中:你可以访问一台在内网中的SSH服务器,同时,你还想访问在同一个网段中的Web服务器。你不能直接访问Web服务器,但是SSH服务器可以访问Web服务器,而且这个SSH服务器上没有安装你想要使用的工具。 我们可以利用Python创建一个转发的SSH隧道[详细]
-
Android常用库源码介绍
所属栏目:[PHP教程] 日期:2021-11-12 热度:191
图片加载框架比较 共同优点 都对多级缓存、线程池、缓存算法做了处理 自适应程度高,根据系统性能初始化缓存配置、系统信息变更后动态调整策略。比如根据 CPU 核数确定最大并发数,根据可用内存确定内存缓存大小,网络状态变化时调整最大并发数等。 支持多种[详细]
-
Android进程间通信介绍
所属栏目:[PHP教程] 日期:2021-11-12 热度:96
进程间通信(ipc) IPC方法总是产生客户/服务端模式的调用,也即是客户端组件(Activity/Service)持有服务端Service的组件,只能是客户端主动调用服务端的方法,服务端无法反过来调用客户端的方法,因为IPC的另一端Service无法获取客户端的对象。 binder Bind[详细]
-
认识Go协程与并发
所属栏目:[PHP教程] 日期:2021-11-12 热度:101
协程 Go语言里创建一个协程很简单,使用go关键字就可以让一个普通方法协程化: package main import ( fmt time ) func main(){ fmt.Println(run in main coroutine.) for i:=0; i10; i++ { go func(i int) { fmt.Printf(run in child coroutine %d.n, i) }[详细]
-
Java异常机制深入认识
所属栏目:[PHP教程] 日期:2021-11-12 热度:172
1.异常的概述 1.1什么是异常? 异常:程序在运行过程中发生由于外部问题导致的程序异常事件,发生的异常会中断程序的运行。(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个异常对象。注意在java中异常不是错误,在下文的异常的[详细]
-
关于单例模式及其Java达成
所属栏目:[PHP教程] 日期:2021-11-12 热度:77
单例模式是23种设计模式中比较简单的一种,在此聊一下单例模式。 1.什么是设计模式? 对于没有接触过设计模式的人来说,一听到设计模式这四个字就觉得这个东西很高深莫测,一下子就对这个东西产生了恐惧感,其实设计模式是那些大佬在项目经验中领悟出来并总结[详细]
-
Java反射深入介绍
所属栏目:[PHP教程] 日期:2021-11-12 热度:86
刚开始接触反射这个概念,感觉反射这个机制很复杂很难懂,所以在这篇文章中对Java的反射机制以个人的理解总结归纳。 1. 什么是反射? 什么是反射?在官方文档中是这样说的: Reflection is commonly used by programs which require the ability to examine[详细]
-
Python中几个常见的魔法技巧
所属栏目:[PHP教程] 日期:2021-11-12 热度:157
首先,什么是魔法方法呢?在Python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做魔法方法。 1、__ init__()方法 当一个实例被创建的时候调用的初始化方法,在创建对象时默认调用。 __ init __()方法中默认有一个参数名字为self,如果在创建对象[详细]
-
Mybatis mapper动态代理的原理介绍
所属栏目:[PHP教程] 日期:2021-11-12 热度:138
在开始动态代理的原理讲解以前,我们先看一下集成mybatis以后dao层不使用动态代理以及使用动态代理的两种实现方式,通过对比我们自己实现dao层接口以及mybatis动态代理可以更加直观的展现出mybatis动态代理替我们所做的工作,有利于我们理解动态代理的过程,[详细]
-
Spring事务在实际项目开发中的运行
所属栏目:[PHP教程] 日期:2021-11-12 热度:60
一, 事务的一些基础知识简单回顾一下,讲的不是很深入,网上博客很多。 1,关于事务的四大特性:原子性、隔离性、一致性、持久性 本文不再赘述; 2,事务的隔离级别:读未提交,读已提交,可重复读,串行化(这里应该深入了解各个级别会出现什么问题,比如[详细]
-
Spring Boot自动配置源码介绍
所属栏目:[PHP教程] 日期:2021-11-12 热度:89
Spring Boot版本:2.1.6.RELEASE Spring Boot自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties 或者 @ConfigurationProperties 等几个注解来进行自动配置完成的。 @EnableAutoConfiguration 开启自动配置,主要作[详细]
-
mybatis批量更新计划
所属栏目:[PHP教程] 日期:2021-11-12 热度:76
我们知道循环中操作db会导致连接数满,严重影响数据库性能。所以在对db进行DQL与DML时,根据业务逻辑尽量批量操作,这里我们介绍下使用mybatis批量更新mysql的两种方式。 方式一: update id=updateBatch parameterType=Java.util.List foreach collection=li[详细]
-
Shiro权限介绍原理
所属栏目:[PHP教程] 日期:2021-11-12 热度:192
1|0概述 前不久刚学会使用权限注解(),开始思索了一番。最开始猜测实现方式是注解@Aspect,具体实现方式类似如下所示(切面记录审计日志)。后来发现并非如此,所以特地分析一下源码。 @Component @Aspect public class AuditLogAspectConfig { @Pointcut(@ann[详细]
-
Java达成异步调用
所属栏目:[PHP教程] 日期:2021-11-12 热度:184
一、创建线程 @Test public void test0() throws Exception { System.out.println(main函数开始执行); Thread thread=new Thread(new Runnable() { @Override public void run() { System.out.println(===task start===); try { Thread.sleep(5000); } catch[详细]
-
Java - 格式化输出JSON字符串的两种办法
所属栏目:[PHP教程] 日期:2021-11-12 热度:57
Java - 格式化输出JSON字符串的两种方式 1 使用阿里的FastJson 1.1 项目的pom.xml依赖 dependency groupIdcom.alibaba/groupId artifactIdfastjson/artifactId version1.2.58/version /dependency 1.2 Java示例代码 (1) 导入的包: com.alibaba.fastjson.JSON[详细]
-
Java - 自动配置log4j的日志文件方式
所属栏目:[PHP教程] 日期:2021-11-12 热度:186
1 日志路径带来的痛点 Java 项目中少不了要和log4j等日志框架打交道, 开发环境和生产环境下日志文件的输出路径总是不一致, 设置为绝对路径的方式缺少了灵活性, 每次变更项目路径都要修改文件, 目前想到的最佳实现方式是: 根据项目位置自动加载并配置文件路径[详细]
-
FFmpeg 是如何达成多态的?
所属栏目:[PHP教程] 日期:2021-11-12 热度:179
前言 众所周知,FFmpeg 在解码的时候,无论输入文件是 MP4 文件还是 FLV 文件,或者其它文件格式,都能正确解封装、解码,而代码不需要针对不同的格式做出任何改变,这是面向对象中很常见的多态特性,但 FFmpeg 是用 C 语言编写的,那么它是如何使用 C 语言[详细]
-
Java函数式编程原理以及实施
所属栏目:[PHP教程] 日期:2021-11-12 热度:113
一. 函数式编程 Java8所有的新特性基本基于函数式编程的思想,函数式编程的带来,给Java注入了新鲜的活力。 下面来近距离观察一下函数式编程的几个特点: 函数可以作为变量、参数、返回值和数据类型。 基于表达式来替代方法的调用 函数无状态,可以并发和独[详细]
-
Spring源码介绍之BeanFactoryPostProcessor的处理
所属栏目:[PHP教程] 日期:2021-11-12 热度:118
前言 前段时间旁听了某课堂两节Spring源码解析课,刚好最近自己又在重新学习中,便在这里记录一下学习所得。我之前写过一篇博文,是介绍BeanFactoryPostProcessor跟BeanPostProcessor是如何发挥作用的,当时觉得讲的还行,但是现在看来,太粗劣了,很多地方[详细]
-
@Import与@ImportResource注解的介绍
所属栏目:[PHP教程] 日期:2021-11-12 热度:57
前言 在使用Spring-Cloud微服务框架的时候,对于@Import和@ImportResource这两个注解想必大家并不陌生。我们会经常用@Import来导入配置类或者导入一个带有@Component等注解要放入Spring容器中的类;用@ImportResource来导入一个传统的xml配置文件。另外,在[详细]
-
Thread线程的基础知识及常见问题
所属栏目:[PHP教程] 日期:2021-11-12 热度:59
引言 相信各位道友在平时工作中已经很少直接用到Thread线程类了,现在大多是通过线程池或者一些多线程框架来操作线程任务,但我觉得还是有必要了解清楚Thread线程类中各种方法的含义,了解了底层才能更好的理解框架、应用框架。下面我就将Thread线程的相关基[详细]
-
带你认识 Java内存模型
所属栏目:[PHP教程] 日期:2021-11-12 热度:129
首先要明确内存模型指什么。书中的定义是:在特定的操作协议下,对特定内存和高速缓存进行读写访问的过程抽象。 可以知道,内存模型就是来规定如何对内存/缓存进行读写操作的。所以Java内存模型,就是用来定义程序对Java内存的的访问规则。进一步说, Java内[详细]
-
JavaScript在Web自动化测试中的价值
所属栏目:[PHP教程] 日期:2021-11-12 热度:133
前言 JS的全称JavaScript,是一种运行在浏览器中的解释型脚本语言,通常用来实现web前端页面的基本功能,对于前端开发人员是不得不掌握的一门基本技能,但是对于做web自动化测试的人员来说,如果为了实施自动化测试专门研究JS的脚本语法不仅浪费时间,也偏离[详细]
-
Python各类图像库的图片读写方式概括
所属栏目:[PHP教程] 日期:2021-11-12 热度:182
最近在研究深度学习视觉相关的东西,经常需要写Python代码搭建深度学习模型。比如写CNN模型相关代码时,我们需要借助python图像库来读取图像并进行一系列的图像处理工作。我最常用的图像库当然是opencv,很强大很好用,但是opencv也有一些坑,不注意的话也会[详细]

浙公网安备 33038102330468号