- java会被rust替代吗_后端程序员一定要看的语言大比拼:Java vs. Go vs. Rust
杜晓斑
java会被rust替代吗
本文转载自https://blog.csdn.net/chen801090/article/details/105865467/这里只呈现最终比拼结果三种语言的比较在得出任何结论之前,我想指出这三种语言之间的关系。Java和Go都是支持垃圾回收的语言,但是Java会提前编译为在JVM上运行的字节码。启动Java应用程序时,JIT编译器会被调用以通过将字节码编译为本地代码来优化字节码,以提高应用程序
- JAVA中JVM一次 GC的 流程
时光呢
javajvm
一、JVM中一次完整的GC流程(以分代回收为例)JVM的垃圾回收(GC)流程依赖于分代收集机制,不同区域(新生代、老年代)采用不同的回收策略。以下是典型的完整GC流程(以ParallelScavenge+ParallelOld组合为例):1.MinorGC(新生代回收)触发条件:新生代(Eden区)空间不足,无法分配新对象。流程:标记存活对象:从GCRoots(如线程栈、静态变量等)出发,标记所有
- 如何提升 Java 开发能力?
MingDong523
java
如何提升Java开发能力?要系统提升Java开发能力,需从基础巩固、技术拓展、实战经验、持续学习四个维度入手。以下是详细的进阶路径和具体建议:一、夯实Java核心基础深入理解语言特性必学内容:JVM原理:类加载机制、内存模型(堆/栈/方法区)、垃圾回收算法(CMS、G1、ZGC)。并发编程:synchronized底层原理、volatile可见性与有序性、ThreadPoolExecutor线程池
- 面试高峰期,如何应对面试官的jvm刁难,特写一篇jvm面经(第一部)
练好本领
已经进入三月份,正所谓金三银四,正是一年最好的招聘期,想必我的公号粉丝们一定有不少想要跳槽的吧,哈哈,/**偷偷告诉你们其实小编也准备跳槽*/(我要加个注释,被老板知道可就完蛋了),说到面试,想必大家一定气不打一处来,明明拧螺丝的活,非让我们有造火箭的技术,话是这么说,其实很多面试官问jvm题主要原因有两个,一是让你感觉他们公司很牛,二就是压低你的工资,这就是他们的套路,真正能用到的公司少之又少,
- JVM 如何打破双亲委派模型?
冰糖心书房
JVMjvm
虽然双亲委派模型是Java类加载机制的推荐实现方式,但在某些情况下,为了实现特定的功能,可能需要打破双亲委派模型。以下是一些常见的打破双亲委派模型的方法和场景:1.重写loadClass方法(不推荐):原理:java.lang.ClassLoader的loadClass方法实现了双亲委派模型的逻辑。默认情况下,loadClass方法会先检查类是否已经被加载过,如果没有,则委托给父类加载器加载。如果
- 双亲委派有哪些缺点?如何打破双亲委派?
C4程序员
北京JAVA面试java
双亲委派有哪些缺点?双亲委派主要保证Java核心类库的安全性和一致性,但也带来了类冲突、无法隔离模块、扩展性差等问题。Tomcat、OSGi、SpringBoot都修改了类加载机制以适应自己的需求。在插件化、动态代理、J2EE服务器这些场景下,往往需要绕过双亲委派机制,使用自定义类加载器。如何打破双亲委派?虽然JVM默认使用双亲委派机制来保证类加载的安全性和稳定性,但在某些情况下(如插件隔离、不同
- ubuntu下kafka详细安装指导
万才博客
kafkaubuntu
安装kafka之前的准备工作首先需要安装Javasdksudoaptinstallopenjdk-8-jdk#安装特定版本的jdk,这里安装的是jdk1.8sudoaptinstalldefault-jdk#安装默认版本jdk安装完成后验证java-version配置Java环境变量exportJAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-**********
- Java全栈面试宝典:JVM与Spring核心模块深度解析
Aphelios380
面试算法java面试jvmspring开发语言
目录一、JVM核心机制进阶问题10:元空间vs永久代:内存管理的代际革命技术演进对比表技术演进关键点问题11:JVM性能调优三剑客参数解析核心参数详解问题12:堆与栈的六大核心差异内存结构对比图二、Spring框架全景解析Spring核心价值三大支柱Spring模块架构全景图核心模块矩阵模块依赖关系Spring高频面试题集锦1.Spring的核心功能是什么?2.Spring中常用的设计模式?3.S
- 【华为OD技术面试真题精选 - 技术面】- Java八股文全题库(13)
算法大师
华为od面试java
华为OD面试真题精选专栏:华为OD面试真题精选目录:2024华为OD面试手撕代码真题目录以及八股文真题目录1.什么是jvmJVM(Java虚拟机)是一个可以执行Java字节码的抽象机器。它是Java运行时环境的一部分,主要负责解释执行编译后的Java程序代码,提供一个平台无关的运行环境,使得Java程序可以在多种操作系统上运行而无需修改。JVM是Java语言的核心部分,使得Java具有“一次编写,
- idea构建过慢
孤星耀月chen
转至元数据起始开发环境:操作系统:mac开发工具:intellijidea构建工具:gradle解决方案:项目目录了下添加gradle.proerties文件org.gradle.daemon=trueorg.gradle.jvmargs=-Xmx2048m-XX:MaxPermSize=512m-XX:+HeapDumpOnOutOfMemoryError-Dfile.encoding=UTF-
- 解决项目一直在构建中的问题:以 IntelliJ IDEA 为例提高共享堆内存
长征coder
intellij-ideajavaide
在使用IntelliJIDEA时,开发者可能会遇到项目长期处于构建状态的问题。这种情况将严重影响开发效率。通常,这种问题的一个常见原因是构建进程所分配的堆内存不足。本文将以IntelliJIDEA为背景,介绍如何通过提高共享堆内存来解决此问题,并探讨其实现原理。一、问题背景在IntelliJIDEA中,当我们执行项目构建操作时,构建工具(如Gradle或Maven)会在后台启动一个JVM实例。这个
- Java八股文之JVM部分(内存溢出异常问题)
汝熊
java八股javajvm开发语言
内存溢出异常问题Java内存泄漏和内存溢出指的是什么?怎么避免?内存泄漏:指程序中动态分配给内存一些临时对象,并且这些对象始终没有被回收,一直占用着内存。简单来说,就是内存一直没有被释放。常见的会发生内存泄漏的原因:1.静态集合类引起内存泄漏,因为静态集合类的生命周期和JVM一致,所以静态集合类引用的对象不能被释放。2.单例模式导致内存泄漏,因为单例模式的静态特性,它的生命周期和JVM生命周期一样
- JVM内存02-新生代和老年代介绍:
菜鸟老文
计算机大基础JavaSEjvmjavalinux
1,新生代和老年代默认比例分配:JVM中新生代和老年代的比例大小是可以通过参数进行调整的。默认情况下,新生代和老年代的比例是1:2,也就是新生代占整个堆空间的1/3,老年代占整个堆空间的2/3。可以使用JVM参数-XX:NewRatio=来调整新生代和老年代的比例。其中,表示老年代和新生代的比例,比如设置-XX:NewRatio=2,表示老年代占整个堆空间的2/(2+1)=2/3,新生代占整个堆空
- 什么时候用到 JVM 调优,调优哪些参数
Aaron Fang
面试专题jvmjava开发语言
以下是针对JVM调优场景及核心参数的整理:什么时候需要JVM调优?性能显著下降应用响应变慢,吞吐量降低,且通过代码优化无法解决时。例如:频繁FullGC导致长时间停顿(Stop-The-World)。内存异常问题频繁出现OutOfMemoryError(内存溢出)或StackOverflowError(栈溢出)。堆/元空间内存持续增长,存在内存泄漏风险。资源利用率不合理堆内存分配过大导致系统资源浪
- JVM - 类加载相关
小杨xyyyyyyy
JVMjvmjava开发语言面试
本文主要讨论一些类加载机制和类加载器JAVA类加载过程介绍一下?双亲委派原则了解吗?介绍一下为什么需要双亲委派?怎么打破双亲委派模型?了解过吗?类加载器有哪些?介绍几个常见的类加载器1.Java类加载过程介绍一下Java类加载过程指的是将.class文件加载为可用类一个类从加载到使用,一般会经历下面的这个过程:加载->验证->准备->解析->初始化首先我们要知道一个类什么时候会需要加载?简单来说,
- JVM - 垃圾回收基本问题
小杨xyyyyyyy
JVMjvmjava面试
通过一些问题来讨论在JVM中,垃圾回收的一些基本问题为什么要有垃圾回收?Java垃圾回收中是如何判断一个对象死亡的?请简单介绍一下刚才说到了引用计数法,引用计数法存在什么问题?刚才说到了可达性分析,知道哪些可以作为GCROOT吗?垃圾回收算法介绍一下垃圾回收会发生在哪几个区域?1.为什么要有垃圾回收一个系统在应用时,会不断产生数据对象,而存放对象的空间是有限的如果没有垃圾回收机制的话,则存放对象的
- 深入理解JVM虚拟机第三十九篇:JVM中新生代和老年代相关参数设置
岁岁种桃花儿
#JVM专栏jvm堆空间新生代老年代幸存者区
欢迎加入我们的学习交流群呀!✅✅1:这是孙哥suns给大家的福利!✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring、Security、Docker、Grpc、消息中间件、Rpc、SpringCloud等等很多应用和源码级别高质量视频和笔记资料,你想学的我们这里都有!3:QQ群:583783824工作VX:BigTreeJava拉你进VX群,免费领取!4:以上内容,进
- java中Synchronized和Lock的区别
晓魏
并发编程java开发语言
Synchronized和Lock的区别原始构成synchronized关键字属于JVM层面的,通过monitorenter,monitorexit指令实现,底层是通过monitor对象来完成,其实waitnotify等方法也依赖monitor对象,只有同步块或者同步方法中才能调用wait,notify等方法;Lock是具体类(java.utils.concurrent.locks.Lock)是A
- ideal运行程序显示已与地址为 ‘‘127.0.0.1:1059‘,传输: ‘套接字‘‘ 的目标虚拟机断开连接,再次运行程序可以正常运行
山高自有客行路
Javajava
这种情况表明您的程序在某些情况下可能会遇到短暂的问题,导致JVM断开连接,但重新运行后又能恢复正常。这可能是由多种因素引起的。以下是一些可能的原因和解决方法:1.资源竞争内存不足:程序在启动时可能需要大量的内存,如果系统内存不足,可能会导致JVM崩溃。确保您的系统有足够的可用内存。CPU负载高:如果您的系统在运行其他高负载任务,可能会导致CPU资源不足,影响程序的正常运行。尝试关闭其他不必要的应用
- Java 高级编程:深入探究 JVM 调优与字节码分析
潜意识Java
Java知识javajvmpython
目录引言JVM调优:提升Java应用性能的关键内存管理与垃圾回收器选择堆内存分配与优化线程池调优字节码分析:洞察Java程序的底层实现字节码基础使用javap工具进行字节码分析使用ASM库进行字节码修改结论引言在Java开发的高级阶段,仅仅掌握语法和类库是远远不够的。JVM(Java虚拟机)作为Java程序运行的基础,其性能调优和字节码分析能力对于开发高性能、稳定的Java应用至关重要。本文将深入
- java:关于 Java 技术
Katie。
Java实战项目java开发语言
Java技术详解一、前言Java作为一种跨平台、面向对象的编程语言,自1995年由SunMicrosystems(后被Oracle收购)推出以来,便以其简单易学、稳定安全和高性能等优点风靡全球。经过二十余年的不断发展,Java已经成为企业级应用开发、移动互联网、分布式系统、大数据以及云计算等多个领域的主流技术之一。本文将对Java技术进行全面而深入的介绍,从语言基本语法到高级特性,从JVM架构到企
- ElasticSearch常用优化点
清风1981
elasticsearch大数据搜索引擎
关闭交换分区:因为Linux采用了三级页表虚存管理,关闭交换分区可以减少系统IO,页面换入唤出时所耗费的总线时间以及减少系统中断次数;swap的使用会显著增加延迟和降低吞吐量。文件描述符配置:任何网络应用都需要增加文件描述符的数量,默认进程的文件描述符是1024.我们进行网络IO,打开文件,管道,内存映射等操作都需要文件描述符资源;一般调整到65532;JVM内存设置:max(节点系统内存/2,3
- Spring Boot 3虚拟线程的使用
招风的黑耳
后端springboot后端java
在SpringBoot非Web应用中,使用虚拟线程时程序提前终止的问题及解决方案,可以通过以下步骤深入理解和验证:问题根源分析JVM退出机制Java中,当所有非守护线程结束时,JVM会立即退出。即使存在正在运行的守护线程(如虚拟线程),JVM也不会等待它们完成。虚拟线程的特性虚拟线程(Thread.ofVirtual())默认是守护线程,且无法通过setDaemon(false)修改。虚拟线程由J
- Java JVM调优实战指南:从内存模型到高频参数
danny-IT技术博客
javajvm开发语言
JavaJVM调优实战指南:从内存模型到高频参数(附自绘内存图+真实案例解析)一、JVM内存模型图解┌───────────────────────────────┐│JVM内存结构│├──────────────┬──────────────┤│堆(Heap)│非堆(Non-Heap)││▼▼│┌───────────────────────┐┌──────────────┐││新生代(Youn
- Spring Boot网站性能优化全解析
weixin_30777913
springboot性能优化linuxjavajvm
在开发SpringBoot网站时,性能优化涵盖Java应用、操作系统、Java虚拟机(JVM)等多个层面。下面将从SpringBoot应用层、Linux系统、JVM参数等方面,详细介绍优化方案,同时阐述操作系统差异处理、验证与监控以及注意事项。通过以下多层级优化组合,可实现从应用代码到系统底层的整体性能提升。建议依据实际监控数据持续调优,不同场景侧重不同优化方向。一、SpringBoot应用层优化
- Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file:
fzip
JavaFlinkflink大日志文件
执行hdfs命令查看目录时,控制台上有这么一句警告JVM报错:共享内存文件空间不足df-h以可读性较高的方式来显示磁盘使用信息可以看到主盘已使用100%暴力解决办法:找到对应占用磁盘的文件,然后rm-f,再重启造成大日志文件的程序我的原因是flink的taskmanager的日志很大,删除日志之后需要重新启动flink集群,防止问题重复发生,需要找出taskmanager日志很大的原因:我的原因是
- Scala
超帅的好吧
笔记
Scala和Java及JVM关系图Javac.class字节码文件编译器Java运行Scala的SDK//1.Java的部分类库//2.特有类库//3.对Java的类库做了包装Scala运行.scala代码Importjava.io_//1可以使用Java的语法(部分)System.out.println(“ok”)//可以//2scala特有的语法和类库vart=(“tom”,100,12.4)
- JVM中的垃圾回收算法
Fanxt_Ja
Java面试JVMjvm算法java
在Java虚拟机(JVM)中,垃圾回收(GarbageCollection,GC)是自动内存管理的核心机制,负责回收不再使用的对象以释放内存。以下是几种垃圾回收器的原理及优缺点:1.标记清除法:原理:对堆内存中各个存活对象进行标记,然后清除未被标记的对象。缺点:1.因为垃圾并不一定存在于连续的内存空间,所以会导致内存碎片化;2.效率较低:需要两次遍历内存(标记+清除)使用场景:老年代2.复制清除法
- 【Docker系列八】使用 Docker run 命令部署 Nginx
Kwan的解忧杂货铺@新空间代码工作室
s4Docker系列dockernginx容器
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术,jvm,并发编程redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,
- JVM-GC日志详细分析
jzjie
JVM-Java调优javaGC日志分析GC日志GC日志详解GC参数
JVM-GC日志详细分析1.打印GC日志参数1.3基本JVM参数参数示例描述说明-verbose:gc控制台打印GC参数-Xms20M初始堆大小20M-Xmx20M最大堆大小20M一般情况下-Xms和-Xmx这两个值设为相同大小-Xmn10M新生代最大可用值10M-XX:+PrintGC触发GC时日志打印-XX:+PrintGCDetails触发GC时日志打印详细–XX:UseSerialGC串行
- 如何用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