图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0
高级箱型图
Aa123456789_55
图形展示python
一个点展示多个数据在箱形图(boxplot)中,如果你想在一个点上展示多组数据,可以通过在同一位置绘制多个箱形图来实现。这通常用于比较不同组在相同特征上的分布情况假设我们有三组数据,每组数据包含多个子组,每个子组在同一个x轴位置上。importmatplotlib.pyplotaspltimportnumpyasnp#示例数据data1=[np.random.normal(0,1,100),np.
At least one sheet must be visible
Aa123456789_55
疑难杂症python
出现"Atleastonesheetmustbevisible"错误通常是因为你在创建Excel文件时,没有指定任何一个sheet为可见。这个错误通常发生在使用openpyxl引擎时。要解决这个问题,你可以在创建ExcelWriter对象时,将参数engine设置为'xlsxwriter'。这样做可以使用xlsxwriter引擎来处理Excel文件,而不会出现上述错误。下面是一个修改后的示例代码:
Angular 17与Material Design 3的结合之旅
t0_54program
编程问题解决手册angular.js前端javascript个人开发
引言随着前端技术的不断发展,用户界面的设计和体验变得越来越重要。MaterialDesign3作为谷歌推出的最新设计语言,其简洁、直观的设计理念吸引了众多开发者的关注。特别是对于Angular开发者来说,如何将MaterialDesign3与Angular框架无缝结合是一个值得探讨的问题。本文将带你一步一步了解如何在Angular17中使用MaterialDesign3组件。准备工作在开始之前,我
Angular 17与PrimeNG复选框图标定制
t0_54program
编程问题解决手册angular.js前端javascript个人开发
在Angular和PrimeNG的开发过程中,经常需要对UI组件进行细致的定制以满足特定的设计需求。本文将详细介绍如何在不更改HTML模板的情况下,通过全局CSS文件来修改PrimeNG复选框的默认勾选图标。背景介绍随着Angular从15版本升级到17版本,很多开发者也需要更新其依赖库,包括PrimeNG。由于PrimeNG的更新,组件的样式和行为可能会发生变化,这就要求开发者了解如何适应这些变
保证你能懂!听我说啥是C语言中的静态断言!
新手懒羊哥
c语言培训班c语言算法开发语言
好的,接下来我用“说人话”的方式给你解释C语言中的静态断言,保证一听就懂!一句话总结:静态断言(StaticAssert)就是“在代码编译时,强制检查某个条件是否成立”。如果不成立,编译器会直接报错,告诉你哪里出了问题,代码根本没法生成可执行文件。举个现实例子:假设你写代码时,假设int类型在电脑上一定是4字节(比如你用它存文件头),但你不确定这个假设是否成立。这时候可以用静态断言:static_
Go语言 vs Java语言:核心差异与适用场景解析
By北阳
golangjava开发语言
在当今的软件开发领域,Go(Golang)和Java都是备受关注的后端开发语言。尽管二者都能构建高性能服务,但它们在设计哲学、语法特性和应用场景上存在显著差异。本文将从多个维度对比这两种语言,帮助开发者更好地理解它们的优缺点,并为技术选型提供参考。一、设计哲学与语言定位1.Go语言定位:专为高并发、分布式系统设计,强调简洁性和高效性。特点:语法简单,学习曲线平缓。静态编译为单一二进制文件,部署便捷
超详细:数据库的基本架构
m0_74824661
面试学习路线阿里巴巴数据库架构
MySQL基础架构下面这个图是我给出的一个MySQL基础架构图,可以清楚的了解到SQL语句在MySQL的各个模块进行执行过程。然后MySQL可以分为两个部分,一个是server层,另一个是存储引擎。server层Server层涵盖了MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等)。所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。Server层主
L2-023 图着色问题(Java)
Loongnoy
Java题解算法
题目链接:PTA|程序设计类实验辅助教学平台图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0set=newHashSet0){int[]arr=newint[v+1
python subplot函数应用 - 创建多个子图
Aa123456789_55
图形展示代码学习python开发语言
subplot语法:plt.subplot是Matplotlib库中的一个非常有用的函数,用于在一个图形窗口中创建多个子图plt.subplot函数用于在当前图形窗口中创建并激活一个子图。其基本语法如下:plt.subplot(nrows,ncols,index)参数详解:nrows:子图的行数。这是指整个图形窗口将被分成多少行子图。ncols:子图的列数。这是指整个图形窗口将被分成多少列表子图。
数据结构与算法:洪水填充
WBluuue
c++算法leetcode数据结构深度优先剪枝图论
前言洪水填充是一种用在图上的搜索算法,其过程就像洪水或病毒一样逐渐蔓延整个区域,继而达到遍历和统计相同属性的连通区域的功能,中间也可以通过每走过一个节点就设置路径信息的方法来达到剪枝的效果。一、岛屿数量——洪水填充方法classSolution{public:intnumIslands(vector>&grid){returnsolve2(grid);}//洪水填充方法intsolve2(vect
白话设计模式之(95):状态模式——优化代码状态管理的利器
一杯年华@编程空间
白话设计模式设计模式状态模式ui
白话设计模式之(95):状态模式——优化代码状态管理的利器大家好!在软件开发的学习过程中,我们都在不断探索如何让代码更加高效、灵活且易于维护。设计模式作为编程领域的重要工具,为我们解决各种复杂问题提供了有效的方案。今天,咱们深入探讨状态模式,它是一种优化代码状态管理的利器,能帮助我们处理对象在不同状态下的复杂行为。希望通过这篇博客,能和大家一起全面掌握状态模式,从基础概念到实际应用,深入理解其原理
SwiftUI(二十二)- SwiftUI 实现多页面应用 TabView和自定义底部导航
胖虎1
SwiftUI入门基础swiftuiiosswift自定义TabBarTabView
引言大多数现代移动应用通常是多页面应用,用户通过底部导航栏(TabBar)或者侧边菜单在不同页面之间切换。在传统的UIKit中,这种布局的实现相对简单,通常使用UITabbarController来管理底部导航栏,并通过导航控制器来管理页面的跳转。然而,随着SwiftUI的推出,苹果提供了一个全新的声明式框架,使得应用的布局和导航方式有了更加灵活和简洁的选择。虽然SwiftUI本身没有传统的UIT
Volar ——Vue3 完美的配套工具
web13985857354
前端html面试vue.jsjavascriptvscode
Volar——Vue3完美的配套工具0.前言1.`volar`是什么2.Volar的新功能介绍2.1`refsugar`2.2`template`语法转换2.3`classreferences`2.4`props`类型检测2.5各种语法提示2.5.1模板语法提示2.5.2cssmodule语法提示2.5.3`lang`提示2.6编辑器三分天下3.总结博主在b站录制了vue3.2的详细教程,点击来看
基于单片机智能小车设计
无限虚空
单片机单片机嵌入式硬件
随着计算机、微电子、信息技术的快速发展,智能化技术的发展速度越来越快,智能化与人们生活的联系也越来越紧密,智能化是未来社会发展的必然趋势。智能小车实际上就是一个可以自由移动的智能机器人,比较适合在人们无法工作的地方工作,也可取代人们完成一些复杂、危险性质的工作。作为现代自动控制领域内十分伟大的一项发明智能小车、机器人已经和人们的生产生活紧密的联系在了一起。智能小车,是一个包含周围环境探测、识别反应
SwiftUI 内功:探索 SwiftUI 的默认架构
YUELJe
swiftui架构iosswift
SwiftUI内功:探索SwiftUI的默认架构SwiftUI是一种用于构建iOS、macOS、watchOS和tvOS应用程序界面的现代化框架。它提供了一种声明式的方式来构建用户界面,使开发人员可以更轻松地创建交互式、响应式的应用程序。在本文中,我们将深入探讨SwiftUI的默认架构,并通过源代码示例来说明其工作原理。SwiftUI的默认架构基于一种称为“状态驱动”的模式。它使用一组可变状态来描
线程池相关面试题
玛丽莲萌
java
一、什么是线程池?线程池是用来管理和复用线程的工具,他可以减少线程的创建和销毁开销。在java中,ThreadPoolExecutor是线程池的核心实现,它通过核心线程数、最大线程数、任务队列和拒绝策略来控制线程的创建和执行。举个例子:就像你开了一家餐厅,线程池就相当于固定数量的服务员,顾客(任务)来了就安排空闲的服务员(线程)处理,避免了频繁招人和解雇的成本。二、线程池的工作原理任务提交----
Maven的继承和聚合
百香果果ccc
Mavenmavenhivejava
Maven继承指的是,子项目继承父级Maven项目的配置信息(pom.xml)在父级pom.xml中,使用标签包裹的依赖,将会无条件传递给子级,与依赖范围无关com.alibabadruid1.2.8org.junit.jupiterjunit-jupiter-api5.10.2testjavax.servletjavax.servlet-api3.1.0provided在父级pom.xml中,使
基于树莓派的轻量级AI数字人开发全流程指南 ——从硬件选型到语音视觉交互实战
zhz5214
AIai人工智能AI写作AI编程智能体
1.背景与目标AI数字人,像是虚拟助手、交互式角色,在当下数字化浪潮中扮演着越来越重要的角色。其核心在于整合语音识别、视觉感知、自然语言处理(NLP)和动态反馈四大关键功能。本文将以树莓派5开发板为核心,搭配AI加速硬件,结合开源框架,为大家详细阐述如何实现本地化轻量级数字人开发。这一方案特别适用于教育领域,帮助学生更直观地理解AI技术;在智能家居场景中,也能为用户带来更智能、便捷的交互体验。2.
python`print`函数中flush参数
需要重新演唱
Pythonpython
print函数中flush参数在计算机中,输出通常会被缓冲,这意味着数据不会立即发送到目标位置(如控制台或文件),而是先存储在内存中的一个缓冲区里。这样做的好处是可以提高性能,因为一次性发送大量数据通常比逐个发送数据更高效。然而,在某些情况下,你可能希望立即看到输出,而不是等待缓冲区填满或程序结束。这时就可以使用flush参数来强制刷新缓冲区。flush参数的作用flush参数是一个布尔值,默认是
【Ubuntu】docker报错:Error response from daemon: Container a1035642576a3a899c8fe142c416fc is not running
Jackilina_Stone
【EH】报错处理dockerubuntu
说明:XXX为容器名。执行下面的命令:dockerexec-itXXX/bin/bash报错:Errorresponsefromdaemon:Containera1035642bcf83ce56a3a899c8fe142c416fcisnotrunning解决方法:sudodockerstartXXX再次执行:dockerexec-itXXX/bin/bash成功进入容器。
SpringBoot工程——自定义方法参数解析器(对带有自定义注解的参数进行处理)
阿饼240
springbootjavaspring
1、首先自定义注解(Target指定注解的使用范围,只能用在方法参数上,Retention指定注解的生命周期,Documented表示该注解应该包含在Java文档中)@Target({ElementType.PARAMETER})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@interfaceTokenToUser{}2.自定义方法参数解
Android开发——蓝牙与外部设备连接
阿饼240
android
一、获取蓝牙权限在Manifest.xml文件中添加蓝牙权限声明二、检查设备是否支持蓝牙BluetoothAdapterdefaultAdapter=BluetoothAdapter.getDefaultAdapter();if(defaultAdapter==null){Toast.makeText(MainActivity.this,"该设备不支持蓝牙",Toast.LENGTH_SHORT)
【leetcode hot 100 105】从前序与中序遍历序列构造二叉树
longii11
leetcode算法职场和发展
错误解法一:preorder[0]为根节点,在inorder中找到preorder[0]的位置numInorder,其左边为左子树,右边为右子树。利用Arrays.copyOfRange()函数来取数组子集。/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*Tree
量子传感器:原理、优势、应用与工业自动化整合探索
百态老人
量子计算
目录一、量子传感器的基本原理是什么?二、量子传感器与传统传感器的区别是什么?三、量子态在量子传感器中的应用有哪些?四、量子传感器的主要应用领域有哪些?五、量子传感器在工业自动化中的应用有哪些?内容:一、量子传感器的基本原理是什么?量子传感器的基本原理量子传感器利用量子力学现象来实现对各种物理量的高灵敏度检测。它们通常基于量子叠加和量子纠缠等非经典物理效应,这些效应允许量子传感器在某些情况下超越经典
如何用ruby来写hadoop的mapreduce并生成jar包
wudixiaotie
mapreduce
ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢:
1.安装rvm:
不说了 网上有
2.安装ruby:
由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。
3.安装jruby:
rvm install jruby然后等待安
java编程思想 -- 访问控制权限
百合不是茶
java访问控制权限单例模式
访问权限是java中一个比较中要的知识点,它规定者什么方法可以访问,什么不可以访问
一:包访问权限;
自定义包:
package com.wj.control;
//包
public class Demo {
//定义一个无参的方法
public void DemoPackage(){
System.out.println("调用
[生物与医学]请审慎食用小龙虾
comsci
生物
现在的餐馆里面出售的小龙虾,有一些是在野外捕捉的,这些小龙虾身体里面可能带有某些病毒和细菌,人食用以后可能会导致一些疾病,严重的甚至会死亡.....
所以,参加聚餐的时候,最好不要点小龙虾...就吃养殖的猪肉,牛肉,羊肉和鱼,等动物蛋白质
org.apache.jasper.JasperException: Unable to compile class for JSP:
商人shang
maven2.2jdk1.8
环境: jdk1.8 maven tomcat7-maven-plugin 2.0
原因: tomcat7-maven-plugin 2.0 不知吃 jdk 1.8,换成 tomcat7-maven-plugin 2.2就行,即
<plugin>
你的垃圾你处理掉了吗?GC
oloz
GC
前序:本人菜鸟,此文研究学习来自网络,各位牛牛多指教
1.垃圾收集算法的核心思想
Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别
shiro 和 SESSSION
杨白白
shiro
shiro 在web项目里默认使用的是web容器提供的session,也就是说shiro使用的session是web容器产生的,并不是自己产生的,在用于非web环境时可用其他来源代替。在web工程启动的时候它就和容器绑定在了一起,这是通过web.xml里面的shiroFilter实现的。通过session.getSession()方法会在浏览器cokkice产生JESSIONID,当关闭浏览器,此
移动互联网终端 淘宝客如何实现盈利
小桔子
移動客戶端淘客淘寶App
2012年淘宝联盟平台为站长和淘宝客带来的分成收入突破30亿元,同比增长100%。而来自移动端的分成达1亿元,其中美丽说、蘑菇街、果库、口袋购物等App运营商分成近5000万元。 可以看出,虽然目前阶段PC端对于淘客而言仍旧是盈利的大头,但移动端已经呈现出爆发之势。而且这个势头将随着智能终端(手机,平板)的加速普及而更加迅猛
wordpress小工具制作
aichenglong
wordpress小工具
wordpress 使用侧边栏的小工具,很方便调整页面结构
小工具的制作过程
1 在自己的主题文件中新建一个文件夹(如widget),在文件夹中创建一个php(AWP_posts-category.php)
小工具是一个类,想侧边栏一样,还得使用代码注册,他才可以再后台使用,基本的代码一层不变
<?php
class AWP_Post_Category extends WP_Wi
JS微信分享
AILIKES
js
// 所有功能必须包含在 WeixinApi.ready 中进行
WeixinApi.ready(function(Api) {
// 微信分享的数据
var wxData = {
&nb
封装探讨
百合不是茶
JAVA面向对象 封装
//封装 属性 方法 将某些东西包装在一起,通过创建对象或使用静态的方法来调用,称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题,增加代码的可读性和可维护性
在 Aname类中申明三个属性,将其封装在一个类中:通过对象来调用
例如 1:
//属性 将其设为私有
姓名 name 可以公开
jquery radio/checkbox change事件不能触发的问题
bijian1013
JavaScriptjquery
我想让radio来控制当前我选择的是机动车还是特种车,如下所示:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"><
AngularJS中安全性措施
bijian1013
JavaScriptAngularJS安全性XSRFJSON漏洞
在使用web应用中,安全性是应该首要考虑的一个问题。AngularJS提供了一些辅助机制,用来防护来自两个常见攻击方向的网络攻击。
一.JSON漏洞
当使用一个GET请求获取JSON数组信息的时候(尤其是当这一信息非常敏感,
[Maven学习笔记九]Maven发布web项目
bit1129
maven
基于Maven的web项目的标准项目结构
user-project
user-core
user-service
user-web
src
【Hive七】Hive用户自定义聚合函数(UDAF)
bit1129
hive
用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、求最大值、求最小值)得到一个聚合计算结果的函数。
问题:UDF也可以提供输入多个参数然后输出一个结果的运算,比如加法运算add(3,5),add这个UDF需要实现UDF的evaluate方法,那么UDF和UDAF的实质分别究竟是什么?
Double evaluate(Double a, Double b)
通过 nginx-lua 给 Nginx 增加 OAuth 支持
ronin47
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGeek 在过去几年中取得了发展,我们已经积累了不少针对各种任务的不同管理接口。我们通常为新的展示需求创建新模块,比如我们自己的博客、图表等。我们还定期开发内部工具来处理诸如部署、可视化操作及事件处理等事务。在处理这些事务中,我们使用了几个不同的接口来认证:
&n
利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法
bsr1983
session
在利用tomcat-redis-session-manager做session同步时,遇到了在session保存一个自定义对象时,修改该对象中的某个属性,session未进行序列化,属性没有被存储到redis中。 在 tomcat-redis-session-manager的github上有如下说明: Session Change Tracking
As noted in the &qu
《代码大全》表驱动法-Table Driven Approach-1
bylijinnan
java算法
关于Table Driven Approach的一篇非常好的文章:
http://www.codeproject.com/Articles/42732/Table-driven-Approach
package com.ljn.base;
import java.util.Random;
public class TableDriven {
public
Sybase封锁原理
chicony
Sybase
昨天在操作Sybase IQ12.7时意外操作造成了数据库表锁定,不能删除被锁定表数据也不能往其中写入数据。由于着急往该表抽入数据,因此立马着手解决该表的解锁问题。 无奈此前没有接触过Sybase IQ12.7这套数据库产品,加之当时已属于下班时间无法求助于支持人员支持,因此只有借助搜索引擎强大的
java异常处理机制
CrazyMizzz
java
java异常关键字有以下几个,分别为 try catch final throw throws
他们的定义分别为
try: Opening exception-handling statement.
catch: Captures the exception.
finally: Runs its code before terminating
hive 数据插入DML语法汇总
daizj
hiveDML数据插入
Hive的数据插入DML语法汇总1、Loading files into tables语法:1) LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]解释:1)、上面命令执行环境为hive客户端环境下: hive>l
工厂设计模式
dcj3sjt126com
设计模式
使用设计模式是促进最佳实践和良好设计的好办法。设计模式可以提供针对常见的编程问题的灵活的解决方案。 工厂模式
工厂模式(Factory)允许你在代码执行时实例化对象。它之所以被称为工厂模式是因为它负责“生产”对象。工厂方法的参数是你要生成的对象对应的类名称。
Example #1 调用工厂方法(带参数)
<?phpclass Example{
mysql字符串查找函数
dcj3sjt126com
mysql
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在1到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或st
jvm内存管理
easterfly
jvm
一、JVM堆内存的划分
分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。
工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中;
年老代满了之后会执行major gc,这个是stop the word模式,执行
CentOS-6.3安装配置JDK-8
gengzg
centos
JAVA_HOME=/usr/java/jdk1.8.0_45
JRE_HOME=/usr/java/jdk1.8.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME
【转】关于web路径的获取方法
huangyc1210
Web路径
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果: 1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项
php里获取第一个中文首字母并排序
远去的渡口
数据结构PHP
很久没来更新博客了,还是觉得工作需要多总结的好。今天来更新一个自己认为比较有成就的问题吧。 最近在做储值结算,需求里结算首页需要按门店的首字母A-Z排序。我的数据结构原本是这样的:
Array
(
[0] => Array
(
[sid] => 2885842
[recetcstoredpay] =&g
java内部类
hm4123660
java内部类匿名内部类成员内部类方法内部类
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类可以间接解决多继承问题,可以使用内部类继承一个类,外部类继承一个类,实现多继承。
&nb
Caused by: java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.Exten
zhb8015
maven pom.xml关于hibernate的配置和异常信息如下,查了好多资料,问题还是没有解决。只知道是包冲突,就是不知道是哪个包....遇到这个问题的分享下是怎么解决的。。
maven pom:
<dependency>
<groupId>org.hibernate</groupId>
<ar
Spark 性能相关参数配置详解-任务调度篇
Stark_Summer
sparkcachecpu任务调度yarn
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化。
由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便
css3滤镜
wangkeheng
htmlcss
经常看到一些网站的底部有一些灰色的图标,鼠标移入的时候会变亮,开始以为是js操作src或者bg呢,搜索了一下,发现了一个更好的方法:通过css3的滤镜方法。
html代码:
<a href='' class='icon'><img src='utv.jpg' /></a>
css代码:
.icon{-webkit-filter: graysc