Flink操练(三十六)之每个用户每5秒钟窗口的pv
1、代码逻辑实现package day03; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.streaming.api.functions.source.SourceFunction; import org.apache.flink.streaming.api.functions.windowing.ProcessWindowFunction; import org.apache.flink.streaming.api.windowing.assigners.TumblingProcessingTimeWindows; import org.apache.flink.streaming.api.windowing.time.Time; import org.apache.flink.streaming.api.windowing.windows.TimeWindow; import org.apache.flink.util.Collector; import java.sql.Timestamp; import java.util.Calendar; import java.util.Random; /** * @program: bigData_learn * @description: 每个用户每5秒钟窗口的pv * @author: Mr.逗 * @create: 2021-09-22 16:31 **/ public class FiveSecondWindow { // SourceFunction并行度只能为1 // 自定义并行化版本的数据源,需要使用ParallelSourceFunction public static class ClickSource implements SourceFunction { private boolean running = true; private String[] userArr = {"Mary", "Bob", "Alice", "Liz"}; private String[] urlArr = {"./home", "./cart", "./fav", "./prod?id=1", "./prod?id=2"}; private Random random = new Random(); @Override public void run(SourceContext ctx) throws Exception { while (running) { // collect方法,向下游发送数据 ctx.collect( new Event( userArr[random.nextInt(userArr.length)], urlArr[random.nextInt(urlArr.length)], Calendar.getInstance().getTimeInMillis() ) ); Thread.sleep(1000L); } } @Override public void cancel() { running = false; } } public static class Event { public String user; public String url; public Long timestamp; public Event() { } public Event(String user, String url, Long timestamp) { this.user = user; this.url = url; this.timestamp = timestamp; } @Override public String toString() { return "Event{" + "user="" + user + """ + ", url="" + url + """ + ", timestamp=" + new Timestamp(timestamp) + "}"; } } public static class WindowResult extends ProcessWindowFunction { @Override public void process(String value, Context ctx, Iterable it, Collector out) throws Exception { long start = ctx.window().getStart(); long end = ctx.window().getEnd(); long count = it.spliterator().getExactSizeIfKnown();//迭代器里面共有多少条数据 out.collect("用户"+value+"在窗口"+new Timestamp(end)+new Timestamp(start)+""+"中的pv次数是:"+count); } } public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(1); DataStreamSource source = env.addSource(new ClickSource()); source.keyBy(v->v.user) .window(TumblingProcessingTimeWindows.of(Time.seconds(5))) .process(new WindowResult()) .print(); String name = FiveSecondWindow.class.getName(); env.execute(name); } } 2、结果展示"C:Program FilesJavajdk1.8.0_191binjava.exe" "-javaagent:F:appIntelliJ IDEA 2019.3.3libidea_rt.jar=61587:F:appIntelliJ IDEA 2019.3.3bin" -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.8.0_191jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_191jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_191jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_191jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_191jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_191jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_191jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_191jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_191jrelibext ashorn.jar;C:Program FilesJavajdk1.8.0_191jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_191jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_191jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_191jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_191jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_191jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_191jrelibjce.jar;C:Program FilesJavajdk1.8.0_191jrelibjfr.jar;C:Program FilesJavajdk1.8.0_191jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_191jrelibjsse.jar;C:Program FilesJavajdk1.8.0_191jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_191jrelibplugin.jar;C:Program FilesJavajdk1.8.0_191jrelibresources.jar;C:Program FilesJavajdk1.8.0_191jrelibrt.jar;D:bigDatabigData_learnFlink_learn argetclasses;C:UsersAdministrator.m2repositoryorgapacheflinkflink-java1.13.0flink-java-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-core1.13.0flink-core-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-annotations1.13.0flink-annotations-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-metrics-core1.13.0flink-metrics-core-1.13.0.jar;C:UsersAdministrator.m2repositorycomesotericsoftwarekryokryo2.24.0kryo-2.24.0.jar;C:UsersAdministrator.m2repositorycomesotericsoftwareminlogminlog1.2minlog-1.2.jar;C:UsersAdministrator.m2repositoryorgobjenesisobjenesis2.1objenesis-2.1.jar;C:UsersAdministrator.m2repositorycommons-collectionscommons-collections3.2.2commons-collections-3.2.2.jar;C:UsersAdministrator.m2repositoryorgapachecommonscommons-compress1.20commons-compress-1.20.jar;C:UsersAdministrator.m2repositoryorgapachecommonscommons-lang33.3.2commons-lang3-3.3.2.jar;C:UsersAdministrator.m2repositoryorgapachecommonscommons-math33.5commons-math3-3.5.jar;C:UsersAdministrator.m2repositoryorgslf4jslf4j-api1.7.15slf4j-api-1.7.15.jar;C:UsersAdministrator.m2repositorycomgooglecodefindbugsjsr3051.3.9jsr305-1.3.9.jar;C:UsersAdministrator.m2repositoryorgapacheflinkforce-shading1.13.0force-shading-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-streaming-java_2.121.13.0flink-streaming-java_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-file-sink-common1.13.0flink-file-sink-common-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-runtime_2.121.13.0flink-runtime_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-queryable-state-client-java1.13.0flink-queryable-state-client-java-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-hadoop-fs1.13.0flink-hadoop-fs-1.13.0.jar;C:UsersAdministrator.m2repositorycommons-iocommons-io2.7commons-io-2.7.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-shaded-netty4.1.49.Final-13.0flink-shaded-netty-4.1.49.Final-13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-shaded-jackson2.12.1-13.0flink-shaded-jackson-2.12.1-13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-shaded-zookeeper-33.4.14-13.0flink-shaded-zookeeper-3-3.4.14-13.0.jar;C:UsersAdministrator.m2repositoryorgjavassistjavassist3.24.0-GAjavassist-3.24.0-GA.jar;C:UsersAdministrator.m2repositorycom ypesafeakkaakka-actor_2.122.5.21akka-actor_2.12-2.5.21.jar;C:UsersAdministrator.m2repositorycom ypesafeconfig1.3.3config-1.3.3.jar;C:UsersAdministrator.m2repositoryorgscala-langmodulesscala-java8-compat_2.12 .8.0scala-java8-compat_2.12-0.8.0.jar;C:UsersAdministrator.m2repositorycom ypesafeakkaakka-stream_2.122.5.21akka-stream_2.12-2.5.21.jar;C:UsersAdministrator.m2repositoryorgreactivestreamsreactive-streams1.0.2reactive-streams-1.0.2.jar;C:UsersAdministrator.m2repositorycom ypesafessl-config-core_2.12 .3.7ssl-config-core_2.12-0.3.7.jar;C:UsersAdministrator.m2repositoryorgscala-langmodulesscala-parser-combinators_2.121.1.1scala-parser-combinators_2.12-1.1.1.jar;C:UsersAdministrator.m2repositorycom ypesafeakkaakka-protobuf_2.122.5.21akka-protobuf_2.12-2.5.21.jar;C:UsersAdministrator.m2repositorycom ypesafeakkaakka-slf4j_2.122.5.21akka-slf4j_2.12-2.5.21.jar;C:UsersAdministrator.m2repositoryorgclappergrizzled-slf4j_2.121.3.2grizzled-slf4j_2.12-1.3.2.jar;C:UsersAdministrator.m2repositorycomgithubscoptscopt_2.123.5.0scopt_2.12-3.5.0.jar;C:UsersAdministrator.m2repositoryorgxerialsnappysnappy-java1.1.8.3snappy-java-1.1.8.3.jar;C:UsersAdministrator.m2repositorycom witterchill_2.12 .7.6chill_2.12-0.7.6.jar;C:UsersAdministrator.m2repositorycom witterchill-java .7.6chill-java-0.7.6.jar;C:UsersAdministrator.m2repositoryorglz4lz4-java1.6.0lz4-java-1.6.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-shaded-guava18.0-13.0flink-shaded-guava-18.0-13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-clients_2.121.13.0flink-clients_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-optimizer_2.121.13.0flink-optimizer_2.12-1.13.0.jar;C:UsersAdministrator.m2repositorycommons-clicommons-cli1.3.1commons-cli-1.3.1.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-table-api-java-bridge_2.121.13.0flink-table-api-java-bridge_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-table-api-java1.13.0flink-table-api-java-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-table-planner-blink_2.121.13.0flink-table-planner-blink_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-table-api-scala_2.121.13.0flink-table-api-scala_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-table-api-scala-bridge_2.121.13.0flink-table-api-scala-bridge_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-table-runtime-blink_2.121.13.0flink-table-runtime-blink_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgcodehausjaninojanino3.0.11janino-3.0.11.jar;C:UsersAdministrator.m2repositoryorgcodehausjaninocommons-compiler3.0.11commons-compiler-3.0.11.jar;C:UsersAdministrator.m2repositoryorgapachecalciteavaticaavatica-core1.17.0avatica-core-1.17.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-streaming-scala_2.121.13.0flink-streaming-scala_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-scala_2.121.13.0flink-scala_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgscala-langscala-reflect2.12.7scala-reflect-2.12.7.jar;C:UsersAdministrator.m2repositoryorgscala-langscala-library2.12.7scala-library-2.12.7.jar;C:UsersAdministrator.m2repositoryorgscala-langscala-compiler2.12.7scala-compiler-2.12.7.jar;C:UsersAdministrator.m2repositoryorgscala-langmodulesscala-xml_2.121.0.6scala-xml_2.12-1.0.6.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-table-common1.13.0flink-table-common-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-connector-files1.13.0flink-connector-files-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-shaded-asm-77.1-13.0flink-shaded-asm-7-7.1-13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-cep_2.121.13.0flink-cep_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-csv1.13.0flink-csv-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-connector-kafka_2.121.13.0flink-connector-kafka_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapachekafkakafka-clients2.4.1kafka-clients-2.4.1.jar;C:UsersAdministrator.m2repositorycomgithublubenzstd-jni1.4.3-1zstd-jni-1.4.3-1.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-connector-base1.13.0flink-connector-base-1.13.0.jar;C:UsersAdministrator.m2repositoryorgapachebahirflink-connector-redis_2.111.0flink-connector-redis_2.11-1.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-streaming-java_2.111.2.0flink-streaming-java_2.11-1.2.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-runtime_2.111.2.0flink-runtime_2.11-1.2.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-shaded-hadoop21.2.0flink-shaded-hadoop2-1.2.0.jar;C:UsersAdministrator.m2repositoryorg ukaanixz1.0xz-1.0.jar;C:UsersAdministrator.m2repositoryxmlencxmlenc .52xmlenc-0.52.jar;C:UsersAdministrator.m2repositorycommons-codeccommons-codec1.4commons-codec-1.4.jar;C:UsersAdministrator.m2repositorycommons-netcommons-net3.1commons-net-3.1.jar;C:UsersAdministrator.m2repositoryjavaxservletservlet-api2.5servlet-api-2.5.jar;C:UsersAdministrator.m2repositoryorgmortbayjettyjetty-util6.1.26jetty-util-6.1.26.jar;C:UsersAdministrator.m2repositorycomsunjerseyjersey-core1.9jersey-core-1.9.jar;C:UsersAdministrator.m2repositorycommons-elcommons-el1.0commons-el-1.0.jar;C:UsersAdministrator.m2repositorycommons-loggingcommons-logging1.1.3commons-logging-1.1.3.jar;C:UsersAdministrator.m2repositorycomjamesmurtyutilsjava-xmlbuilder .4java-xmlbuilder-0.4.jar;C:UsersAdministrator.m2repositorycommons-langcommons-lang2.6commons-lang-2.6.jar;C:UsersAdministrator.m2repositorycommons-configurationcommons-configuration1.7commons-configuration-1.7.jar;C:UsersAdministrator.m2repositorycommons-digestercommons-digester1.8.1commons-digester-1.8.1.jar;C:UsersAdministrator.m2repositoryorgcodehausjacksonjackson-core-asl1.8.8jackson-core-asl-1.8.8.jar;C:UsersAdministrator.m2repositoryorgcodehausjacksonjackson-mapper-asl1.8.8jackson-mapper-asl-1.8.8.jar;C:UsersAdministrator.m2repositoryorgapacheavroavro1.7.7avro-1.7.7.jar;C:UsersAdministrator.m2repositorycom houghtworksparanamerparanamer2.3paranamer-2.3.jar;C:UsersAdministrator.m2repositorycomjcraftjsch .1.42jsch-0.1.42.jar;C:UsersAdministrator.m2repositorycommons-beanutilscommons-beanutils-bean-collections1.8.3commons-beanutils-bean-collections-1.8.3.jar;C:UsersAdministrator.m2repositorycommons-daemoncommons-daemon1.0.13commons-daemon-1.0.13.jar;C:UsersAdministrator.m2repositoryjavaxxmlbindjaxb-api2.2.2jaxb-api-2.2.2.jar;C:UsersAdministrator.m2repositoryjavaxxmlstreamstax-api1.0-2stax-api-1.0-2.jar;C:UsersAdministrator.m2repositoryjavaxactivationactivation1.1activation-1.1.jar;C:UsersAdministrator.m2repositoryio etty etty-all4.0.27.Final etty-all-4.0.27.Final.jar;C:UsersAdministrator.m2repositorycomdata-artisansflakka-actor_2.112.3-customflakka-actor_2.11-2.3-custom.jar;C:UsersAdministrator.m2repositorycomdata-artisansflakka-remote_2.112.3-customflakka-remote_2.11-2.3-custom.jar;C:UsersAdministrator.m2repositoryio etty etty3.8.0.Final etty-3.8.0.Final.jar;C:UsersAdministrator.m2repositoryorguncommonsmathsuncommons-maths1.2.2auncommons-maths-1.2.2a.jar;C:UsersAdministrator.m2repositorycomdata-artisansflakka-slf4j_2.112.3-customflakka-slf4j_2.11-2.3-custom.jar;C:UsersAdministrator.m2repositoryorgclappergrizzled-slf4j_2.111.0.2grizzled-slf4j_2.11-1.0.2.jar;C:UsersAdministrator.m2repositorycomgithubscoptscopt_2.113.2.0scopt_2.11-3.2.0.jar;C:UsersAdministrator.m2repositorycomfasterxmljacksoncorejackson-core2.7.4jackson-core-2.7.4.jar;C:UsersAdministrator.m2repositorycomfasterxmljacksoncorejackson-databind2.7.4jackson-databind-2.7.4.jar;C:UsersAdministrator.m2repositorycomfasterxmljacksoncorejackson-annotations2.7.0jackson-annotations-2.7.0.jar;C:UsersAdministrator.m2repositoryorgapachezookeeperzookeeper3.4.6zookeeper-3.4.6.jar;C:UsersAdministrator.m2repositoryjlinejline .9.94jline-0.9.94.jar;C:UsersAdministrator.m2repositoryjunitjunit3.8.1junit-3.8.1.jar;C:UsersAdministrator.m2repositorycom witterchill_2.11 .7.4chill_2.11-0.7.4.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-clients_2.111.2.0flink-clients_2.11-1.2.0.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-optimizer_2.111.2.0flink-optimizer_2.11-1.2.0.jar;C:UsersAdministrator.m2repositoryorgapacheslingorg.apache.sling.commons.json2.0.6org.apache.sling.commons.json-2.0.6.jar;C:UsersAdministrator.m2repositorymysqlmysql-connector-java8.0.21mysql-connector-java-8.0.21.jar;C:UsersAdministrator.m2repositorycomgoogleprotobufprotobuf-java3.11.4protobuf-java-3.11.4.jar;C:UsersAdministrator.m2repositoryorgapacheflinkflink-connector-jdbc_2.121.13.0flink-connector-jdbc_2.12-1.13.0.jar;C:UsersAdministrator.m2repositoryorgslf4jslf4j-log4j121.7.30slf4j-log4j12-1.7.30.jar;C:UsersAdministrator.m2repositorylog4jlog4j1.2.17log4j-1.2.17.jar;C:UsersAdministrator.m2repositoryorgapachelogginglog4jlog4j-to-slf4j2.14.0log4j-to-slf4j-2.14.0.jar;C:UsersAdministrator.m2repositoryorgapachelogginglog4jlog4j-api2.14.0log4j-api-2.14.0.jar;C:UsersAdministrator.m2repositoryredisclientsjedis2.9.0jedis-2.9.0.jar;C:UsersAdministrator.m2repositoryorgapachecommonscommons-pool22.4.2commons-pool2-2.4.2.jar;C:UsersAdministrator.m2repositorycomgooglecodegsongson2.8.5gson-2.8.5.jar" day03.FiveSecondWindow log4j:WARN No appenders could be found for logger (org.apache.flink.api.java.ClosureCleaner). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 用户Bob在窗口2021-09-22 16:45:00.02021-09-22 16:44:55.0中的pv次数是:2 用户Mary在窗口2021-09-22 16:45:00.02021-09-22 16:44:55.0中的pv次数是:2 用户Bob在窗口2021-09-22 16:45:05.02021-09-22 16:45:00.0中的pv次数是:2 用户Mary在窗口2021-09-22 16:45:05.02021-09-22 16:45:00.0中的pv次数是:1 用户Liz在窗口2021-09-22 16:45:05.02021-09-22 16:45:00.0中的pv次数是:2 用户Liz在窗口2021-09-22 16:45:10.02021-09-22 16:45:05.0中的pv次数是:1 用户Bob在窗口2021-09-22 16:45:10.02021-09-22 16:45:05.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:45:10.02021-09-22 16:45:05.0中的pv次数是:3 用户Bob在窗口2021-09-22 16:45:15.02021-09-22 16:45:10.0中的pv次数是:4 用户Mary在窗口2021-09-22 16:45:15.02021-09-22 16:45:10.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:45:20.02021-09-22 16:45:15.0中的pv次数是:2 用户Bob在窗口2021-09-22 16:45:20.02021-09-22 16:45:15.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:45:20.02021-09-22 16:45:15.0中的pv次数是:2 用户Bob在窗口2021-09-22 16:45:25.02021-09-22 16:45:20.0中的pv次数是:3 用户Liz在窗口2021-09-22 16:45:25.02021-09-22 16:45:20.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:45:25.02021-09-22 16:45:20.0中的pv次数是:1 用户Liz在窗口2021-09-22 16:45:30.02021-09-22 16:45:25.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:45:30.02021-09-22 16:45:25.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:45:30.02021-09-22 16:45:25.0中的pv次数是:3 用户Mary在窗口2021-09-22 16:45:35.02021-09-22 16:45:30.0中的pv次数是:2 用户Bob在窗口2021-09-22 16:45:35.02021-09-22 16:45:30.0中的pv次数是:2 用户Liz在窗口2021-09-22 16:45:35.02021-09-22 16:45:30.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:45:40.02021-09-22 16:45:35.0中的pv次数是:4 用户Alice在窗口2021-09-22 16:45:40.02021-09-22 16:45:35.0中的pv次数是:1 用户Liz在窗口2021-09-22 16:45:45.02021-09-22 16:45:40.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:45:45.02021-09-22 16:45:40.0中的pv次数是:2 用户Mary在窗口2021-09-22 16:45:45.02021-09-22 16:45:40.0中的pv次数是:1 用户Bob在窗口2021-09-22 16:45:45.02021-09-22 16:45:40.0中的pv次数是:1 用户Bob在窗口2021-09-22 16:45:50.02021-09-22 16:45:45.0中的pv次数是:4 用户Liz在窗口2021-09-22 16:45:50.02021-09-22 16:45:45.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:45:55.02021-09-22 16:45:50.0中的pv次数是:2 用户Bob在窗口2021-09-22 16:45:55.02021-09-22 16:45:50.0中的pv次数是:3 用户Bob在窗口2021-09-22 16:46:00.02021-09-22 16:45:55.0中的pv次数是:3 用户Mary在窗口2021-09-22 16:46:00.02021-09-22 16:45:55.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:46:00.02021-09-22 16:45:55.0中的pv次数是:1 用户Liz在窗口2021-09-22 16:46:05.02021-09-22 16:46:00.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:46:05.02021-09-22 16:46:00.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:46:05.02021-09-22 16:46:00.0中的pv次数是:3 用户Alice在窗口2021-09-22 16:46:10.02021-09-22 16:46:05.0中的pv次数是:1 用户Liz在窗口2021-09-22 16:46:10.02021-09-22 16:46:05.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:46:10.02021-09-22 16:46:05.0中的pv次数是:1 用户Bob在窗口2021-09-22 16:46:10.02021-09-22 16:46:05.0中的pv次数是:2 用户Liz在窗口2021-09-22 16:46:15.02021-09-22 16:46:10.0中的pv次数是:2 用户Bob在窗口2021-09-22 16:46:15.02021-09-22 16:46:10.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:46:15.02021-09-22 16:46:10.0中的pv次数是:2 用户Alice在窗口2021-09-22 16:46:20.02021-09-22 16:46:15.0中的pv次数是:2 用户Liz在窗口2021-09-22 16:46:20.02021-09-22 16:46:15.0中的pv次数是:1 用户Bob在窗口2021-09-22 16:46:20.02021-09-22 16:46:15.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:46:20.02021-09-22 16:46:15.0中的pv次数是:1 用户Bob在窗口2021-09-22 16:46:25.02021-09-22 16:46:20.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:46:25.02021-09-22 16:46:20.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:46:25.02021-09-22 16:46:20.0中的pv次数是:2 用户Bob在窗口2021-09-22 16:46:30.02021-09-22 16:46:25.0中的pv次数是:2 用户Mary在窗口2021-09-22 16:46:30.02021-09-22 16:46:25.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:46:30.02021-09-22 16:46:25.0中的pv次数是:2 用户Bob在窗口2021-09-22 16:46:35.02021-09-22 16:46:30.0中的pv次数是:2 用户Mary在窗口2021-09-22 16:46:35.02021-09-22 16:46:30.0中的pv次数是:1 用户Alice在窗口2021-09-22 16:46:35.02021-09-22 16:46:30.0中的pv次数是:2 用户Liz在窗口2021-09-22 16:46:40.02021-09-22 16:46:35.0中的pv次数是:2 用户Mary在窗口2021-09-22 16:46:40.02021-09-22 16:46:35.0中的pv次数是:1 用户Bob在窗口2021-09-22 16:46:40.02021-09-22 16:46:35.0中的pv次数是:2 用户Alice在窗口2021-09-22 16:46:45.02021-09-22 16:46:40.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:46:45.02021-09-22 16:46:40.0中的pv次数是:1 用户Liz在窗口2021-09-22 16:46:45.02021-09-22 16:46:40.0中的pv次数是:3 用户Alice在窗口2021-09-22 16:46:50.02021-09-22 16:46:45.0中的pv次数是:1 用户Liz在窗口2021-09-22 16:46:50.02021-09-22 16:46:45.0中的pv次数是:1 用户Bob在窗口2021-09-22 16:46:50.02021-09-22 16:46:45.0中的pv次数是:1 用户Mary在窗口2021-09-22 16:46:50.02021-09-22 16:46:45.0中的pv次数是:2
如何让手机用得更长久?3个建议相对便宜配置不错符合习惯不知道你有没有发现这么一个有意思的事情。你经常可以在某鱼上看到有人在出自己刚用了不到一年的手机你经常会听到朋友抱怨,去年刚换的手机,现在用起来不是那么的舒服在自媒体时代下,越来越多
iQOO7性能游戏手机中,让人惊喜的水桶机你知道世界上第一款手机游戏是什么吗?俄罗斯方块,或者贪吃蛇。不,都不是。即便你是一名资深的手游玩家,你也不一定知道世界上第一款手机游戏是哪个。根据查找到的资料显示,世界上第一款手机
今年准备换手机?重点别搞错!最值得关注的配置是这个哈喽,大家好,我是热心村民。今天我想和大家聊聊手机。在开始之前有两个问题,我希望在阅读文章之前,你能思考一下如果你要买新手机,你更看重手机的哪方面?几乎人人都拍短视频的时代,你希望
手机屏奇形怪状,怎么办?刘海屏水滴屏胶囊屏独眼屏,这些奇形怪状的屏幕充斥市场,为什么还有人要买升降摄像头这些人云亦云被说是质量堪忧的手机?小编综合调研后得到以下五个方面的结果。颜值奇形怪状的屏幕从颜值上就
未来5年北京将建成5G基站6。3万个实现城乡全覆盖中新社北京7月30日电(记者于立霄)未来5年,北京将大力推进5G网络千兆固网工业互联网等新型数据基础设施建设到2025年末,北京将建成并开通5G基站6。3万个,基本实现城区县城乡镇
2021成都车展有哪些惊艳到你的车型?说起刚刚结束的成都车展,首次与大家见面的车型属实是不少,但其中最让我惊艳的角儿,全在长城家了,至于什么丰田塞纳啊,雪铁龙凡尔赛之流,在我眼中都是萤虫之光了。坦克500坦克400在此
一个正经中医需要掌握的能力有哪些?一脉相常见脉象有28中,而这二十八种在不同体质季节年龄都不同,也就是28X4X4X41792种,张仲景都不一定摸全乎了。二脉相对应的体征脉相对应的体征也在不同体质年龄性别场景下不同
千元机又怎么样?3个理由告诉你,千元机也很值得不知道看文章的你是什么想法,现在我身边的朋友都不太会频繁地更换手机。今年来就三个朋友换了新手机,让人意想不到的是他们不约而同的都选择了更便宜的千元机。或许是因为他对手机没有那么高的
为什么现在的年轻人不想结婚?昨天去相亲,对方是一个年龄比自己大4岁,看上去老实憨厚的人,见过面吃了饭后,第二天就没有下文了,没有什么原因,是我一口回绝了。对于我来说,我还处在相信爱情的幼稚阶段,中间的介绍人对
奇瑞高质量SUV,搭载1。6T发动机,高配不到15万近日,新款星途追风正式上市了,目前22款共有5款在售车型,售价区间为10。9913。99万元。新车对外观和配置做了一些调整升级,整体的造型更加时尚。下面就随小编了解一下这款车吧。首
建造者模式建造者模式定义及优缺点建造者(Builder)模式的定义指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对