草庐IT

MySQL执行流程

全部标签

Java 执行器检查 TCP 连接是否有效

我试图通过在Java中使用执行程序来识别主机是活的还是死的。就我而言,我有多个主机保存在列表中。我的目标是创建具有主机数量的线程并检查它们。当线程与主机建立连接时,主机并没有关闭连接,而是不断发送一个状态码,如50(死)或51(活)。我的问题是线程只能在主机上连接。例如;我有两个主机192.168.1.1和192.168.1.2。线程应该在后台检查它们,但我只能在1.1中连接连接Listhosts=LoadBalancer.getHostList();ExecutorServiceexecutor=Executors.newFixedThreadPool(hosts.size());e

java - 每次程序执行如何在 log4j 中创建日志文件?

我目前正在使用log4j中的DailyRollingFileAppender类来执行每日日志文件附加操作,但我希望按以下格式分隔日志文件:DATA.log.__这应该在每次程序执行时完成一次,所以我最终会得到类似...DATA.log.2011-01-13_12-46-38_DATA.log.2011-01-13_12-46-38_DATA.log.2011-01-13_12-46-38_来自不同环境的不同日志文件可以汇集在一起​​。有没有办法在不扩展FileAppender类的情况下做到这一点?至少,有没有办法做到:DATA.log.__.log谢谢编辑:我已经在使用DailyRol

MySQL常用数据库语句

==数据库==1、创建数据库createdatabase[IFNOTEXISTS]数据库名;2、删除数据库dropdatabase[IFEXISTS]数据库名;3、切换数据库selectdatabase();4、查询数据库showdatabases;————————————————————————————==数据表==1、创建数据表createtable表名(  字段名1字段类型1(字段长度)[约束][comment字段1注释],--不是;号  字段名2字段类型2(字段长度)[约束][comment字段2注释],   ....   字段名n字段类型n(字段长度)[约束][comment字段2注

java - 我可以强制执行额外的计划执行吗?

我有一个singleThreadExecutor,我正在用这样的scheduledFixedDelay提供一个RunnableRunnableperiodic=newRunnable(){...}ScheduledExecutorServiceexecutor=Executors.newSingleThreadScheduledExecutor();executor.scheduleWithFixedDelay(periodic,1,1,TimeUnit.MINUTES);它将在两次执行之间延迟1分钟运行。问题是,有时我需要“按需”运行它。这可能吗?我考虑过取消执行,运行Runnabl

java - 有成对的执行相同任务的静态方法和实例方法吗?

在开发一个二维vector类作为数学库的一部分时,出于风格和可用性的原因,我正在考虑使用静态方法和实例方法对。也就是说,两个等价的函数,但一个是静态的和非变异的,另一个是实例化的和变异的。我知道我不是第一个考虑这个问题的人(例如,参见here),但我还没有找到任何直接解决这个问题的信息。拥有静态和实例方法对的优点:有些人更喜欢使用其中一种,在某些情况下,能够进行选择会使代码更易于阅读。这意味着当同时提供静态方法和实例方法时,静态方法不会发生变化。这可以使调用代码更加清晰,例如:someVector=Vector2d.add(vec1,vec2);someVector=(newVecto

java - 我需要在浏览器关闭或选项卡关闭后终止 session 并执行一项功能

我想在浏览器关闭或选项卡关闭后终止session。我需要在session过期后使用session监听器进行一次数据库连接。但是,为此我需要等到session销毁。这是session销毁时执行的代码。publicvoidsessionDestroyed(HttpSessionEventevent){synchronized(this){//System.out.println("deletion");ServletContextapplication=event.getSession().getServletContext();sessionCount=(Integer)applicat

java - 使用复制在 lib 文件夹中的外部 .jar 依赖项构建可执行文件 .jar

我正在使用IntelliJIDEA和Java。我有一个名为SearchEngine的主程序,它应该构建一个可执行文件SearchEngine.jar。但是,我的代码依赖于3个额外的.jar文件。我已经添加了这些依赖项,我的程序运行良好。我想构建一个可执行文件.jar,它不在其中包含3个额外的.jar文件,而是将它们复制到lib文件夹中。为此,我选择了以下选项:当我不更改Artifacts项目设置选项卡中的设置时,我得到4个.jar文件,其中1个是我的可执行文件,3个是额外的.jar文件。这样,一切都工作正常。但是,当我尝试在lib文件夹中添加3个额外的.jar文件时,我的可执行文件无法

java - 澄清 StringBuilder 引用和方法执行顺序

这段代码StringBuilderb1=newStringBuilder("hello");b1.append(b1.append("!"));System.out.println("b1="+b1);将打印b1=hello!hello!因为内部的append先被执行并修改了对象b1;然后对外部b1求值(现在它等于hello!)并将相同的字符串附加到它。所以执行内部表达式原始对象被修改外部表达式在修改后的对象上执行但是现在,为什么这段代码会抛出NullPointerException?StringBuilders1=null;StringBuilders2=newStringBuild

java - 为什么这个正则表达式需要很长时间才能执行?

我发现,例如这一行的执行时间非常长:System.out.println("................................................".matches("(?i)(?:.*)?\\W?([a-z0-9-_\\.]+((?:*)\\.(?:*))+(?:DE))(?:[0-9]{1,5})?"));如果我减少字符串开头的点数,则执行时间会缩短(似乎呈指数增长)。这是挂起线程的堆栈跟踪:[Repeatingtext]...Pattern$GroupTail.match(Matcher,int,CharSequence)line:4717Pattern

System.out 中的 Java 执行细节

我记得Java中有一个神奇的命令行选项,可以将当前执行的操作写入控制台。输出看起来像字节码。-verbose不匹配,因为它只打印类加载,而此选项输出内存分配、设置局部变量等信息。非常详细,例如“Helloworld”的10行。我这里没找到https://www.oracle.com/java/technologies/javase/vmoptions-jsp.html或这里https://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/java.html.我也找到了一些flags,但它们中的大多数只能在openjdk或开发模式下工作