- Linux内核启动:深入理解Initramfs与Initrd机制
CClaris
linux服务器嵌入式嵌入式操作系统操作系统
在Linux系统启动过程中,内核需要访问根文件系统来继续启动过程。然而,根文件系统可能位于内核无法直接访问的存储设备上,这就产生了一个"鸡生蛋,蛋生鸡"的问题:内核需要驱动程序来访问存储设备,而驱动程序又存储在这些设备上。为了解决这个问题,Linux引入了initrd和initramfs机制。本文将深入探讨这两种机制的工作原理、区别以及实际应用。问题的由来早期Linux系统的局限性在Linux系统
- Linux操作系统,故障排查
月堂
linux运维服务器
案例1:GRUB引导故障故障现象:系统启动卡在"GRUB>"提示符,无法进入系统原因分析:GRUB配置文件损坏(/boot/grub/grub.cfg)引导文件被误删或磁盘损坏解决步骤:在GRUB命令行依次执行:insmodxfssetroot=(hd0,msdos1)linux/vmlinuz-root=/dev/sda1initrd/initramfs-.imgboot进入系统后执行:grub
- 常见运维故障排查案例
MALLYUN
linux运维故障排查
目录案例1:GRUB引导故障案例2:文件系统只读故障案例3:OOMKiller触发案例4:系统启动卡住(initramfs损坏)案例5:磁盘空间耗尽案例6:SSH登录缓慢案例7:逻辑卷无法扩展案例8:内核模块冲突案例9:NTP时间不同步案例10:SELinux导致服务异常案例11、root密码遗忘附加资源推荐:案例1:GRUB引导故障故障现象:系统启动卡在"GRUB>"提示符,无法进入系统原因分析
- ARM Linux下屏幕的显示旋转及触摸旋转
牧以南歌〆
嵌入式Linuxarm开发linux嵌入式硬件驱动开发
ARMLinux下屏幕的显示旋转及触摸旋转目录ARMLinux下屏幕的显示旋转及触摸旋转开发环境一、显示旋转二、开机自动旋转功能三、触摸旋转开发环境ubuntu22.04、RK3568开发板、eDP_1920X1080的电容触摸屏一、显示旋转ARMLinux下的屏显示旋转一般可以通过命令xrandr实现,具体操作如下:左转90°xrandr-oleft右转90°xrandr-oright镜像180
- SOEM vscode 交叉编译
m0_55576290
电机嵌入式vscodeide编辑器
GithubSOEM#arm-linux-gnueabihf.cmake#CMaketoolchainfileforARMLinuxcross-compilation#Setthetargetsystemset(CMAKE_SYSTEM_NAMELinux)set(CMAKE_SYSTEM_PROCESSORarm)#Specifythecrosscompilerset(CMAKE_C_COMPI
- 紧急救援!Ubuntu崩溃修
qq_36184093
ubuntu数据库linux
技术文章大纲:紧急救援!Ubuntu崩溃修复大赛活动背景与目的介绍Ubuntu系统的常见崩溃场景(如内核panic、GRUB故障、驱动冲突等)。强调"崩溃修复大赛"的意义:提升社区技术能力、分享解决方案、应对突发问题。常见崩溃场景分类启动故障:GRUB损坏、initramfs加载失败、文件系统错误。桌面环境崩溃:GNOME/KDE无响应、Xorg/Wayland相关问题。软件包依赖冲突:apt/d
- ARM Linux CAN 异常排查步骤
我才是鳴海步
嵌入式linuxlinuxcancan总线arm
ARMLinuxCAN异常排查方法1.背景项目上经常有反馈,说我们的CAN总线相关设备不受控,或者控制板重启也没用。登陆系统后查看,会发现经常出现CAN通信异常或超时的情况,由于我们的控制程序在CAN总线上连续6秒接收不到信息就会异常退出。所以表象上,经常只能看到CAN总线超时退出的程序打印日志。这样显然是不利于问题偏差的,如何更容易定位问题,弄清哪里坏了,是现在需要解决的问题。本文最后会提供一个
- linux arm内核栈切换,ARM Linux上的系统调用代码分析
石雷鹏
linuxarm内核栈切换
ARMLinux上的系统调用代码分析作者:linuxer发布于:2017-2-2018:54分类:进程管理一、前言当用户空间的程序调用swi指令发起内核服务请求的时候,实际上程序其实是完成了一次“穿越”,该进程从用户态穿越到了内核态。这个过程有点象周末你在家里看片,突然有些内急,随手按下了pause按键,电影里面的世界嘎然而止了。程序世界亦然,一个swi后,用户空间的代码执行暂停了、stack(用
- python3交叉编译for arm
极客-杀生丸
pythonarmubuntulinux
目的:使armLinux开发板上能运行Python3.8.10①首先确保你的Ubuntu上安装有python3.8.10,20.4版的Ubuntu一般自带②下载Python-3.8.10源码安装包,链接如下:https://download.csdn.net/download/weixin_44772948/83305439④然后就是配置configure,配置命令如下:../Python-3.8
- ARM Linux 移植 tslib
LNN2022
嵌入式学习arm开发linux驱动开发qt
一、移植背景及意义随着嵌入式技术的快速发展,越来越多的ARM架构设备需要支持触摸屏操作。tslib是一款轻量级的触摸屏校准和数据处理库,广泛应用于嵌入式Linux系统中。通过移植tslib,可以为嵌入式设备提供稳定、准确的触摸屏支持,提升用户交互体验。二、移植准备开发环境搭建:在PC主机上安装Ubuntu系统,并配置好ARMLinux交叉编译环境,安装交叉编译工具链(如arm-himix200-l
- initramfs使用及bootargs(cmdline)配置
欲盖弥彰1314
Linux开发基础疑难杂症Linux文件系统linuxbootargs设备树initramfscmdline
内核配置CONFIG_BLK_DEV_INITRD=yCONFIG_INITRAMFS_SOURCE="../rootfs_min"CONFIG_INITRAMFS_ROOT_UID=0CONFIG_INITRAMFS_ROOT_GID=0CONFIG_RD_GZIP=yCONFIG_RD_BZIP2=yCONFIG_RD_LZMA=yCONFIG_RD_XZ=yCONFIG_RD_LZO=yCO
- 【Linux 服务器磁盘映像备份与恢复实战指南】虚拟机备份,物理机上云都可以用这套方案!
爱技术的小伙子
Linux运维服务器linuxpostgresql
Linux服务器磁盘映像备份与恢复实战指南背景在服务器运维中,磁盘健康度下降可能导致数据丢失风险,特别是在未配置RAID的情况下。针对这种情况,备份磁盘数据并恢复到新设备是确保数据安全的关键。本文记录了使用dd命令通过NFS实现全盘映像备份,并将备份恢复到另一台服务器的裸盘(/dev/sdb)的完整流程。恢复后,系统进入initramfs紧急模式,通过fsck修复文件系统问题,最终成功启动系统的操
- ARM Linux设备树
欲盖弥彰1314
Linux设备驱动linux驱动
1、设备树在过去的ARMLinux源码中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,很多代码只是在描述板级设备硬件细节,而这些代码对内核来说就是垃圾由此引出了设备树。DTS(设备树)描述板级设备,起源自OpenFimware(OF)——图片来自野火Linux笔记设备树的中节点会转化为linux中device,会代替平台驱动中的device和平台驱
- 高中生手把手带你入门内核pwn -- QWB2018-core wp
A5rZ
网络安全
ctf-challenges/pwn/linux/kernel-mode/QWB2018-coreatmaster·ctf-wiki/ctf-challenges·GitHub参考:qwb2018核心复现ROP–wsxk’sblog–小菜鸡tips:如果你不理解某些部分,应该停下来而不是继续。core.cpio文件通常是一个归档文件,采用了CPIO格式。这种文件格式常用于存储多个文件和目录结构,尤
- Ubuntu系统下交叉编译iperf3
花花少年
运维交叉编译iperf3iperf
一、参考资料Linux下iperf3移植到arm下测试100M网口-CSDN博客Iperf3移植到ARMLinux及使用教程-CSDN博客二、准备工作1.编译环境宿主机:Ubuntu20.04.6LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.02.设置交叉编译工具链在交叉编译之前,需要设置交叉编译工具链的环境变量。exportPATH=/path
- 聊聊spring ai的mcp server
hello_ejb3
spring人工智能java
序本文主要研究一下springai的mcpservermcpjavasdkmcp提供了javasdk,同时还提供了springwebflux及mvc的sse实现io.modelcontextprotocol.sdkmcp-bom0.8.0pomimportio.modelcontextprotocol.sdkmcpio.modelcontextprotocol.sdkmcp-spring-webf
- Linux系统的grub.cfg文件损坏修复
江湖有缘
Linux技术学习linux运维华为
Linux系统的grub.cfg文件损坏修复一、grub.cfg文件介绍1.grub.cfg文件位置2.grub.cfg文件作用3.系统启动流程介绍二、grub.cfg文件损坏,系统开机启动界面三、修复步骤1.指定/boot目录所在分区2.加载内核文件,并以只读方式挂载根分区3.指定initramfs文件4.启动5.进入系统,重新生成grub.cfg文件一、grub.cfg文件介绍1.grub.c
- 20.ARMLinux上ADC的驱动和使用方法
心随雪冻
linux嵌入式硬件arm开发
ADC(Analog-to-DigitalConverter)即模数转换器,是一种将模拟信号转换为数字信号的电子元器件,用于实现模拟信号的数字化处理和采集。在嵌入式系统中,ADC广泛应用于传感器信号采集、电源管理、环境检测等领域。一、Userspace使用ADC1.硬件以及规格书以fireflyROC-RK3588S-PC开发板为例ROC-RK3588S-PC开发板上的AD接口有两种,分别为:温度
- ubuntu 实时系统安装Nvidia驱动
空调菌
ubuntulinux运维
1.首先禁用nouveau,nouveau是默认显卡驱动(核显)sudogedit/etc/modprobe.d/blacklist.conf添加以下内容:blacklistnouveauoptionsnouveaumodeset=0更新系统配置,重启验证是否禁用成功sudoupdate-initramfs-usudorebootlsmod|grepnouveau2.下载合适的显卡驱动查看非实时内
- 聊聊spring ai的mcp server
ai开发
序本文主要研究一下springai的mcpservermcpjavasdkmcp提供了javasdk,同时还提供了springwebflux及mvc的sse实现io.modelcontextprotocol.sdkmcp-bom0.8.0pomimportio.modelcontextprotocol.sdkmcpio.modelcontextprotocol.sdkmcp-spring-webf
- Ubuntu 22.04安装NVIDIA A30显卡驱动
闫利朋
DeepSeek实践之路ubuntuA30
一、安装前准备1.禁用Nouveau驱动Ubuntu默认使用开源Nouveau驱动,需要手动禁用:vim/etc/modprobe.d/blacklist-nouveau.conf#添加以下内容:blacklistnouveauoptionsnouveaumodeset=0#更新内核并重启:update-initramfs-ureboot2.验证禁用是否生效lsmod|grepnouveau#无输
- 几种常见的处理器架构应用场景
红栈说BSP
架构硬件工程linuxstm32单片机
序本文主要为IT小白在处理器架构方面提供一个大概的认知,不周之处,还请见谅。文章目录序通用型1、x861-1、x86_64(即AMD64)非通用型示例:嵌入式1、80512、ARM2-1、ARMLinux性能成本社区支持兼容性定制化安全性2-2、ARM64研究意义通用型1、x86常见于日常PC的使用,是计算机软件的处理器架构基础。例:IntelCORE、IntelN100等。1-1、x86_64(
- Ubuntu 20.04 安装英伟达显卡驱动 cuda cudnn
weixin_38679037
ubuntu深度学习
1.禁用nouveaulsmod|grepnouveausudogedit/etc/modprobe.d/blacklist.conf添加语句:blacklistnouveauoptionsnouveaumodeset=0sudoupdate-initramfs-usudorebootlsmod|grepnouveau没有任何信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱
- rpm:使用实例
mzhan017
云平台运维rpm
文章目录rpm源测试命令查看releasenote帮助redhat提供的源目录查看编译选项查看软件运行的配置文件建议查看当前软件的帮助文档都有哪些安装错误12安装32bitrpm安装老版本强制安装设置安装目录查询文件查看依赖关系安装rpm到特定目录安装rpm到特定目录2--root校验rpm的文件是否正确rpm2cpio查询rpmname查询文件权限错误错误Unabletochangerootdi
- Linux ubuntu 服务器部署详细教程
WangJQ*
ubuntu计算机视觉人工智能
系统环境:ubuntu20.04安装显卡驱动:驱动下载,我选择的是520.56.06禁用nouveau驱动echo"blacklistnouveau">>/etc/modprobe.d/blacklist.confecho"optionsnouveaumodeset=0">>/etc/modprobe.d/blacklist.confsudoupdate-initramfs-u重启按crtl+al
- opencv交叉编译
月光下的麦克
opencv人工智能计算机视觉
适用于瑞芯微,海思,酷芯等ARM平台。采用编译脚本配置编译选项,方便编译。目录一、创建目录二、工具链配置三、编译脚本四、编译一、创建目录mike@mike-virtual-machine:opencv-4.12/opencv/opencv$tree.-L1.├──3rdparty├──apps├──armlinux.toolchain.cmake├──build├──build.sh├──cmak
- 第18章 ARM Linux设备树之二(设备树的组成和结构)
静能生悟
Linux驱动开发
18.2设备树的组成和结构整个设备树牵涉面比较广,即增加了新的用于描述设备硬件信息的文本格式,又增加了编译这个文本的工具,同时Bootloader(U-boot)也需要支持将编译后的设备树传递给Linux内核。18.2.1DTS、DTC和DTB等1.DTS文件.dts是一种ASCII文本格式的设备树描述,此文本格式非常人性化,适合人类的阅读习惯。在ARMLinux中,一个.dts文件对应一个ARM
- Linux常用文件压缩/解压命令格式大全(tar、gzip、bzip2、zip、compress、cpio、compress、dd)建议收藏
狱典司
Linux网络服务linux操作系统shell
Linux常用文件压缩/解压命令格式大全1.tar2.gzip3.bzip24.zip5.compress6.cpio7.dd1.tar打包备份后的文件包缀:.tar作用:用来对系统上的文件作备份与恢复,可以将系统上多个文件组构成一个tar文件备份到磁盘内或写入到一般的文件(文件名为*.tar)上,也可以将文件从一个tar文件解回到原来的系统中。说明:仅能将一个目录下的所有文件变成一个文件,不具备
- Android开机流程-从Init进程启动到进入Android桌面
techfuture
Android基础架构系列androidjava机器人
1.init进程启动流程Androidbootloader负责加载boot.img,将其内容放入内存,然后启动内核。内核接管之后,会解压并加载ramdisk到内存中,然后启动用户空间的第一个进程init。在Android系统启动过程中,ramdisk.img被内核直接解压到内存中并用作初始根文件系统。这一过程不是通过挂载块设备来实现的,而是通过解压cpio档案的内容到内存中的临时文件系统(tmpf
- MyZip--专业mac压缩软件
爱吃涩柿子
MyZip是一款非常好用的解压、压缩软件,它支持多种格式的文件,例如7Z,ZIP,RAR,TAR,GZIP,BZIP2,XZ,LZIP,ACE,ISO,CAB,PAX,JAR,AR,CPIO等常见所有格式解压,而且MyZip的功能不简单!功能1:加密压缩、分卷压缩众所周知,加密文件是为了更好地保护我们的隐私或者是工作中的特殊文件,那么怎么设置加密文件呢?右击选中压缩文件-点击自定义压缩-勾选加密压
- java类加载顺序
3213213333332132
java
package com.demo;
/**
* @Description 类加载顺序
* @author FuJianyong
* 2015-2-6上午11:21:37
*/
public class ClassLoaderSequence {
String s1 = "成员属性";
static String s2 = "
- Hibernate与mybitas的比较
BlueSkator
sqlHibernate框架ibatisorm
第一章 Hibernate与MyBatis
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。
MyBatis 参考资料官网:http:
- php多维数组排序以及实际工作中的应用
dcj3sjt126com
PHPusortuasort
自定义排序函数返回false或负数意味着第一个参数应该排在第二个参数的前面, 正数或true反之, 0相等usort不保存键名uasort 键名会保存下来uksort 排序是对键名进行的
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8&q
- DOM改变字体大小
周华华
前端
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- c3p0的配置
g21121
c3p0
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的下载地址是:http://sourceforge.net/projects/c3p0/这里可以下载到c3p0最新版本。
以在spring中配置dataSource为例:
<!-- spring加载资源文件 -->
<bean name="prope
- Java获取工程路径的几种方法
510888780
java
第一种:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“
- 在类Unix系统下实现SSH免密码登录服务器
Harry642
免密ssh
1.客户机
(1)执行ssh-keygen -t rsa -C "
[email protected]"生成公钥,xxx为自定义大email地址
(2)执行scp ~/.ssh/id_rsa.pub root@xxxxxxxxx:/tmp将公钥拷贝到服务器上,xxx为服务器地址
(3)执行cat
- Java新手入门的30个基本概念一
aijuans
javajava 入门新手
在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。 Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合
- Memcached for windows 简单介绍
antlove
javaWebwindowscachememcached
1. 安装memcached server
a. 下载memcached-1.2.6-win32-bin.zip
b. 解压缩,dos 窗口切换到 memcached.exe所在目录,运行memcached.exe -d install
c.启动memcached Server,直接在dos窗口键入 net start "memcached Server&quo
- 数据库对象的视图和索引
百合不是茶
索引oeacle数据库视图
视图
视图是从一个表或视图导出的表,也可以是从多个表或视图导出的表。视图是一个虚表,数据库不对视图所对应的数据进行实际存储,只存储视图的定义,对视图的数据进行操作时,只能将字段定义为视图,不能将具体的数据定义为视图
为什么oracle需要视图;
&
- Mockito(一) --入门篇
bijian1013
持续集成mockito单元测试
Mockito是一个针对Java的mocking框架,它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望 行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。
&nb
- 精通Oracle10编程SQL(5)SQL函数
bijian1013
oracle数据库plsql
/*
* SQL函数
*/
--数字函数
--ABS(n):返回数字n的绝对值
declare
v_abs number(6,2);
begin
v_abs:=abs(&no);
dbms_output.put_line('绝对值:'||v_abs);
end;
--ACOS(n):返回数字n的反余弦值,输入值的范围是-1~1,输出值的单位为弧度
- 【Log4j一】Log4j总体介绍
bit1129
log4j
Log4j组件:Logger、Appender、Layout
Log4j核心包含三个组件:logger、appender和layout。这三个组件协作提供日志功能:
日志的输出目标
日志的输出格式
日志的输出级别(是否抑制日志的输出)
logger继承特性
A logger is said to be an ancestor of anothe
- Java IO笔记
白糖_
java
public static void main(String[] args) throws IOException {
//输入流
InputStream in = Test.class.getResourceAsStream("/test");
InputStreamReader isr = new InputStreamReader(in);
Bu
- Docker 监控
ronin47
docker监控
目前项目内部署了docker,于是涉及到关于监控的事情,参考一些经典实例以及一些自己的想法,总结一下思路。 1、关于监控的内容 监控宿主机本身
监控宿主机本身还是比较简单的,同其他服务器监控类似,对cpu、network、io、disk等做通用的检查,这里不再细说。
额外的,因为是docker的
- java-顺时针打印图形
bylijinnan
java
一个画图程序 要求打印出:
1.int i=5;
2.1 2 3 4 5
3.16 17 18 19 6
4.15 24 25 20 7
5.14 23 22 21 8
6.13 12 11 10 9
7.
8.int i=6
9.1 2 3 4 5 6
10.20 21 22 23 24 7
11.19
- 关于iReport汉化版强制使用英文的配置方法
Kai_Ge
iReport汉化英文版
对于那些具有强迫症的工程师来说,软件汉化固然好用,但是汉化不完整却极为头疼,本方法针对iReport汉化不完整的情况,强制使用英文版,方法如下:
在 iReport 安装路径下的 etc/ireport.conf 里增加红色部分启动参数,即可变为英文版。
# ${HOME} will be replaced by user home directory accordin
- [并行计算]论宇宙的可计算性
comsci
并行计算
现在我们知道,一个涡旋系统具有并行计算能力.按照自然运动理论,这个系统也同时具有存储能力,同时具备计算和存储能力的系统,在某种条件下一般都会产生意识......
那么,这种概念让我们推论出一个结论
&nb
- 用OpenGL实现无限循环的coverflow
dai_lm
androidcoverflow
网上找了很久,都是用Gallery实现的,效果不是很满意,结果发现这个用OpenGL实现的,稍微修改了一下源码,实现了无限循环功能
源码地址:
https://github.com/jackfengji/glcoverflow
public class CoverFlowOpenGL extends GLSurfaceView implements
GLSurfaceV
- JAVA数据计算的几个解决方案1
datamachine
javaHibernate计算
老大丢过来的软件跑了10天,摸到点门道,正好跟以前攒的私房有关联,整理存档。
-----------------------------华丽的分割线-------------------------------------
数据计算层是指介于数据存储和应用程序之间,负责计算数据存储层的数据,并将计算结果返回应用程序的层次。J
&nbs
- 简单的用户授权系统,利用给user表添加一个字段标识管理员的方式
dcj3sjt126com
yii
怎么创建一个简单的(非 RBAC)用户授权系统
通过查看论坛,我发现这是一个常见的问题,所以我决定写这篇文章。
本文只包括授权系统.假设你已经知道怎么创建身份验证系统(登录)。 数据库
首先在 user 表创建一个新的字段(integer 类型),字段名 'accessLevel',它定义了用户的访问权限 扩展 CWebUser 类
在配置文件(一般为 protecte
- 未选之路
dcj3sjt126com
诗
作者:罗伯特*费罗斯特
黄色的树林里分出两条路,
可惜我不能同时去涉足,
我在那路口久久伫立,
我向着一条路极目望去,
直到它消失在丛林深处.
但我却选了另外一条路,
它荒草萋萋,十分幽寂;
显得更诱人,更美丽,
虽然在这两条小路上,
都很少留下旅人的足迹.
那天清晨落叶满地,
两条路都未见脚印痕迹.
呵,留下一条路等改日再
- Java处理15位身份证变18位
蕃薯耀
18位身份证变15位15位身份证变18位身份证转换
15位身份证变18位,18位身份证变15位
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 201
- SpringMVC4零配置--应用上下文配置【AppConfig】
hanqunfeng
springmvc4
从spring3.0开始,Spring将JavaConfig整合到核心模块,普通的POJO只需要标注@Configuration注解,就可以成为spring配置类,并通过在方法上标注@Bean注解的方式注入bean。
Xml配置和Java类配置对比如下:
applicationContext-AppConfig.xml
<!-- 激活自动代理功能 参看:
- Android中webview跟JAVASCRIPT中的交互
jackyrong
JavaScripthtmlandroid脚本
在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面举例说明之:
1 JAVASCRIPT脚本调用android程序
要在webview中,调用addJavascriptInterface(OBJ,int
- 8个最佳Web开发资源推荐
lampcy
编程Web程序员
Web开发对程序员来说是一项较为复杂的工作,程序员需要快速地满足用户需求。如今很多的在线资源可以给程序员提供帮助,比如指导手册、在线课程和一些参考资料,而且这些资源基本都是免费和适合初学者的。无论你是需要选择一门新的编程语言,或是了解最新的标准,还是需要从其他地方找到一些灵感,我们这里为你整理了一些很好的Web开发资源,帮助你更成功地进行Web开发。
这里列出10个最佳Web开发资源,它们都是受
- 架构师之面试------jdk的hashMap实现
nannan408
HashMap
1.前言。
如题。
2.详述。
(1)hashMap算法就是数组链表。数组存放的元素是键值对。jdk通过移位算法(其实也就是简单的加乘算法),如下代码来生成数组下标(生成后indexFor一下就成下标了)。
static int hash(int h)
{
h ^= (h >>> 20) ^ (h >>>
- html禁止清除input文本输入缓存
Rainbow702
html缓存input输入框change
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。
如果不想让浏览器缓存input的值,有2种方法:
方法一: 在不想使用缓存的input中添加 autocomplete="off";
<input type="text" autocomplete="off" n
- POJO和JavaBean的区别和联系
tjmljw
POJOjava beans
POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规
- java中单例的五种写法
liuxiaoling
java单例
/**
* 单例模式的五种写法:
* 1、懒汉
* 2、恶汉
* 3、静态内部类
* 4、枚举
* 5、双重校验锁
*/
/**
* 五、 双重校验锁,在当前的内存模型中无效
*/
class LockSingleton
{
private volatile static LockSingleton singleton;
pri